Guardar los procesos en ejecución en archivo de texto

El administrador de tareas de Windows 10 es una herramienta propia del sistema desde donde podemos ver todos los procesos que se están ejecutando en nuestro ordenador.

Además, también nos permite saber el consumo de recursos en cada momento, los programas que se ejecutan con el arranque del sistema, etc. Si por algún motivo necesitas volcar o guardar todos los procesos que se están ejecutando en el equipo a un fichero de texto desde el mismo administrador de tareas.

Pasos a seguir para guardar todos los procesos en ejecución en un archivo de texto

Para ello, vamos a usar el símbolo del sistema de Windows 10, la herramienta basada en línea de comandos de Microsoft. Por lo tanto, lo primero que tenemos que hacer es ir al menú Win+X y seleccionar la opción símbolo del sistema o bien escribir cmd en la caja de texto de la búsqueda de Cortana en la barra de tareas.

Una vez que tenemos abierta la ventana del símbolo del sistema y estamos frente a la línea de comandos, escribiremos tasklist y pulsaremos Enter.

Ahora se nos mostrara un listado completo con todos los procesos que están ejecutándose en ese momento en el sistema. En este listado podremos ver el nombre del proceso, el PID, nombre de sesión, número de sesiones y el uso de memoria que está haciendo cada proceso en ese momento.

listado procesos en símbolo del sistema

Ahora bien, si lo que queremos es guardar todo este listado de procesos en ejecución en un archivo de texto, lo que tenemos que hacer es lanzar el comando Tasklist> D:\procesos.txt, donde D:\ podemos sustituirlo por la ruta del disco que nos interese y procesos.txt por el nombre del archivo que queramos.

En unos instantes, veremos cómo en la ruta que hemos indicado se nos crea un archivo con el nombre que hemos elegido y donde podemos ver el mismo listado que teniamos desde la línea de comandos.

Además de poder analizar de forma más cómoda todos los procesos en ejecución, guardar esta información, las herramienta tasklist también nos permite aplicar diferentes filtros para exportar a un fichero aquellos procesos ejecutados por un usuario concreto, los procesos del sistema, los que están usando más memoria, etc.

En lo siguiente encontraras todos los detalles pero en ingles:

Parameters

ParameterDescription
/s <computer>Specifies the name or IP address of a remote computer (do not use backslashes). The default is the local computer.
/u <domain>\<username>Runs the command with the account permissions of the user who is specified by <username> or by <domain>\<username>. The /u parameter can be specified only if /s is also specified. The default is the permissions of the user who is currently logged on to the computer that is issuing the command.
/p <password>Specifies the password of the user account that is specified in the /u parameter.
/m <module>Lists all tasks with DLL modules loaded that match the given pattern name. If the module name is not specified, this option displays all modules loaded by each task.
svcLists all the service information for each process without truncation. Valid when the /fo parameter is set to table.
/vDisplays verbose task information in the output. For complete verbose output without truncation, use /v and /svc together.
/fo {table | list | csv}Specifies the format to use for the output. Valid values are tablelist, and csv. The default format for output is table.
/nhSuppresses column headers in the output. Valid when the /fo parameter is set to table or csv.
/fi <filter>Specifies the types of processes to include in or exclude from the query. You can use more than one filter or use the wildcard character (\) to specify all tasks or image names. The valid filters are listed in the Filter names, operators, and values section of this article.
/?Displays help at the command prompt.

Filter names, operators, and values

Filter NameValid OperatorsValid Value(s)
STATUSeq, neRUNNING | NOT RESPONDING | UNKNOWN. This filter isn’t supported if you specify a remote system.
IMAGENAMEeq, neImage name
PIDeq, ne, gt, lt, ge, lePID value
SESSIONeq, ne, gt, lt, ge, leSession number
SESSIONNAMEeq, neSession name
CPUtimeeq, ne, gt, lt, ge, leCPU time in the format HH:MM:SS, where MM and SS are between 0 and 59 and HH is any unsigned number
MEMUSAGEeq, ne, gt, lt, ge, leMemory usage in KB
USERNAMEeq, neAny valid user name (<user> or <domain\user>)
SERVICESeq, neService name
WINDOWTITLEeq, neWindow title. This filter isn’t supported if you specify a remote system.
MODULESeq, neDLL name

Examples

To list all tasks with a process ID greater than 1000, and display them in csv format, type:

tasklist /v /fi "PID gt 1000" /fo csv

To list the system processes that are currently running, type:

tasklist /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "STATUS eq running"

To list detailed information for all processes that are currently running, type:

tasklist /v /fi "STATUS eq running"

To list all the service information for processes on the remote computer srvmain, which has a DLL name beginning with ntdll, type:

tasklist /s srvmain /svc /fi "MODULES eq ntdll*"

To list the processes on the remote computer srvmain, using the credentials of your currently logged-on user account, type:

tasklist /s srvmain

To list the processes on the remote computer srvmain, using the credentials of the user account Hiropln, type:

tasklist /s srvmain /u maindom\hiropln /p p@ssW23