[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:slackbook:process_control [2019/02/07 12:41 (UTC)] – [kill y killall] rrampes:slackbook:process_control [2019/03/18 06:50 (UTC)] (actual) – [Fuentes] rramp
Línea 1: Línea 1:
-<note warning>Traducción en progreso. rramp</note> 
 <!-- Add your text below. Start with a Headline (see button bar above). --> <!-- Add your text below. Start with a Headline (see button bar above). -->
 ====== Control de procesos ====== ====== Control de procesos ======
  
-Los sistemas Slackware a menudo ejecutan cientos o miles de programas, cada uno de los cuales se conoce como un proceso. El manejo de estos procesos es una parte importante de la administración de sistemas. Entonces, ¿cómo manejamos exactamente todos estos procesos por separados?+Los sistemas Slackware a menudo ejecutan cientos o miles de programas, cada uno de los cuales se conoce como un proceso. El manejo de estos procesos es una parte importante de la administración de sistemas. Entonces, ¿cómo manejamos exactamente todos estos procesos por separado?
  
 ===== ps ===== ===== ps =====
Línea 9: Línea 8:
 Los primeros pasos en manejar procesos es examinar qué procesos se están ejecutando actualmente. La herramienta más popular y poderosa para esto es Los primeros pasos en manejar procesos es examinar qué procesos se están ejecutando actualmente. La herramienta más popular y poderosa para esto es
 //**ps**//(1). Sin ningún argumento, //**ps**//(1). Sin ningún argumento,
-//**ps**// no te brindará mucha información. Por defecto, solo le indica qué procesos se están ejecutando en su shell activa actualmente. Si queremos más información, tendremos que profundizar sobre este tema.+//**ps**// no le brindará mucha información. Por defecto, solo le indica qué procesos se están ejecutando en su shell activa actualmente. Si queremos más información, tendremos que profundizar sobre este tema.
  
  
Línea 21: Línea 20:
  
  
-Aquí se puede ver los procesos que están corriendo actualmente en tu shell o terminal activa y solo alguna información es incluida+Aquí se puede ver los procesos que están corriendo actualmente en su shell o terminal activa y solo se incluye alguna información. 
-El PID es el //"ID del proceso"//; a todos los procesos se les asigna un número único. El parámetro TTY le dice a qué dispositivo terminal se añade el proceso. Naturalmente, CMD es el comando que estaba corriendo. Sin embargo, usted podría estar un poco confundido con el parámetro TIME, ya que parece moverse muy lentamente. Esta no es la cantidad de tiempo real que el procesos ha estado ejecutándose, sino la cantidad de tiempo de CPU que el proceso ha consumido. Un proceso inactivo no usa virtualmente tiempo de CPU, por lo que este valor no puede aumentar rápidamente.+El PID es el //"ID del proceso"//; a todos los procesos se les asigna un número único. El parámetro TTY le dice a qué dispositivo terminal se añade el proceso. Naturalmente, CMD es el comando que estaba corriendo. Sin embargo, usted podría estar un poco confundido con el parámetro TIME, ya que parece moverse muy lentamente. Esta no es la cantidad de tiempo real que el proceso ha estado ejecutándose, sino la cantidad de tiempo de CPU que el proceso ha consumido. Un proceso inactivo no usa virtualmente tiempo de CPU, por lo que este valor no puede aumentar rápidamente.
  
  
Línea 51: Línea 50:
  
 <note> <note>
-Esto es distinto del argumento //-aux//, pero en la mayoría de los casos los dos argumentos son equivalentes. Esto es una reliquia de décadas. Para más información, vea la pagina man para //**ps**//.+Esto es distinto del argumento //-aux//, pero en la mayoría de los casos los dos argumentos son equivalentes. Esto es una reliquia de décadas. Para más información, vea la página man para //**ps**//.
 </note> </note>
  
Línea 68: Línea 67:
  
  
-Como puedes ver, la sintaxis BSD ofrece mucha más información, incluyendo que usuario controla los procesos y que porcentaje de RAM y CPU está consumiendo cuando //**ps**// está corriendo.+Como puede ver, la sintaxis BSD ofrece mucha más información, incluyendo qué usuario controla los procesos y qué porcentaje de RAM y CPU está consumiendo cuando //**ps**// está corriendo.
  
  
-Para lograr una parte de esto, en función del proceso, //**ps**// permite que se proporcionen uno o más ID de proceso (PIDs) en la línea de comando, y posee el argumento '-o' para mostrar un atributo particular de el PID.+Para lograr una parte de esto, en función del proceso, //**ps**// permite que se proporcionen una o más IDs de proceso (PIDs) en la línea de comandos, y posee el argumento '-o' para mostrar un atributo particular del PID.
  
 <code> <code>
Línea 79: Línea 78:
 </code> </code>
  
-Lo que se muestra es el nombre del comando PID'(cmd) y su tiempo transcurrido (etime). +Lo que se muestra es la PID del nombre del comando (cmd) y su tiempo transcurrido (etime). El PID en este ejemplo, es una variable shell para el PID de la shell actual. Como se puede observar en este ejemplo, el proceso de shell ha existido durante 12 minutos, 22 segundos.
-El PID en este ejemplo, es una variable shell para el PID de la shell actual. Como puede se puede observar en este ejemplo, el proceso de shell ha existido durante 12 minutos, 22 segundos.+
  
  
Línea 107: Línea 105:
 En este ejemplo, una ejecución de sub-shell usando //**pgrep**// devuelve  los PIDs de los procesos cuyos comandos incluyen 'httpd'. Entonces, //**ps**// muestra el nombre del comando, el tamaño de la memoria residente y de la memoria virtual. En este ejemplo, una ejecución de sub-shell usando //**pgrep**// devuelve  los PIDs de los procesos cuyos comandos incluyen 'httpd'. Entonces, //**ps**// muestra el nombre del comando, el tamaño de la memoria residente y de la memoria virtual.
  
-Finalmente, //**ps**// puede también crear un árbol de procesos. Esto muestra que procesos tienen procesos hijos. Terminar un proceso padre que posee hijos también termina los procesos hijos que posea. Se puede hacer esto empleando el argumento //-ejH//.+Finalmente, //**ps**// puede también crear un árbol de procesos. Esto muestra qué procesos tienen procesos hijos. Terminar un proceso padre que posee hijos también termina los procesos hijos que posea. Se puede hacer esto empleando el argumento //-ejH//.
  
  
Línea 164: Línea 162:
 Para señalar un proceso, primero necesitamos saber cual es el PID. Esto se puede obtener con //**ps**// como se discutió previamente. Para señalar un proceso, primero necesitamos saber cual es el PID. Esto se puede obtener con //**ps**// como se discutió previamente.
 Para enviar diferentes señales a un proceso en ejecución, simplemente pase el número de señal y //-s// como un argumento. Para enviar diferentes señales a un proceso en ejecución, simplemente pase el número de señal y //-s// como un argumento.
-El argumento //-l// lista todas las señales que tu puedes elegir y sus números.+El argumento //-l// lista todas las señales que puede elegir y sus números.
 También puede enviar señales por su nombre con //-s//. También puede enviar señales por su nombre con //-s//.
  
Línea 183: Línea 181:
  
  
-A veces es posible que desee terminar todos los procesos en ejecución con un nombre determinado. Puedes matar procesos por nombre con //**killall**//(1). Solo pasa los mismos argumentos a //**killall**// que pasarías a //**kill**//.+A veces es posible que desee terminar todos los procesos en ejecución con un nombre determinado. Puede matar procesos por nombre con //**killall**//(1). Solo pasa los mismos argumentos a //**killall**// que pasaría a //**kill**//.
  
  
Línea 194: Línea 192:
 </code> </code>
 ===== top ===== ===== top =====
-Hasta ahora hemos aprendido cómo mirar los procesos activos por un momento, pero ¿y si queremos monitorearlos durante un periodo de tiempo prolongado? //**top**//(1) nos permite hacer esto precisamente. +Hasta ahora hemos aprendido cómo mirar los procesos activos por un momento, pero ¿y si queremos monitorearlos durante un periodo de tiempo prolongado? //**top**//(1) nos permite hacer esto precisamente. //**top**// muestra una lista ordenada de los procesos en su sistema, junto con información vital sobre ellos y actualizaciones periódicas.
-<del> +
-So far we've learned how to look at the active processes for a moment +
-in time, but what if we want to monitor them for an extended period? +
-//**top**//(1) allows us to do just that.</del>  +
- +
-Muestra una lista ordenada de los procesos en su sistema, junto con información vital sobre ellos y actualizaciones periódicas.+
 De forma predeterminada, los procesos están ordenados por su porcentaje de CPU y las actualizaciones se producen cada tres segundos. De forma predeterminada, los procesos están ordenados por su porcentaje de CPU y las actualizaciones se producen cada tres segundos.
-<del>It displays an ordered list of the processes on your system, along with +
-vital information about them, and updates periodically. By default, +
-processes are ordered by their CPU percentage and updates occur every +
-three seconds. +
-</del>+
  
  
Línea 237: Línea 225:
 </code> </code>
  
-La página del manual tiene detalles útiles sobre cómo interactuar con //**top**//, como cambiar su intervalo de retardo, se muestran los procesos de orden, e incluso cómo terminar los procesos directamente desde //**top**// directamente. +La página del manual tiene detalles útiles sobre cómo interactuar con //**top**//, como cambiar su intervalo de retardo, se muestran los procesos de orden, e incluso cómo terminar los procesos desde //**top**// directamente. 
-<del> +
-The man page has helpful details on how to interact with +
-//**top**// such as changing its delay interval, the +
-order processes are displayed, and even how to terminate processes +
-right from within //**top**// itself.</del>+
 ===== cron ===== ===== cron =====
  
Línea 248: Línea 232:
 cron corre procesos para todos los usuarios en la fecha prevista.  cron corre procesos para todos los usuarios en la fecha prevista. 
 Esto lo hace muy útil para los procesos que deben ejecutarse periódicamente, pero no requieren una demonización completa, como por ejemplo los scripts de copia de seguridad. Esto lo hace muy útil para los procesos que deben ejecutarse periódicamente, pero no requieren una demonización completa, como por ejemplo los scripts de copia de seguridad.
-<del>Ok, so we've learned many different ways of viewing the active +
-processes on our system and means of signalling them, but what if we +
-want to run a process periodically? Fortunately, Slackware includes +
-just the thing, **//crond//**(8). cron runs +
-processes for every user on the schedule that user demands. This makes +
-it very useful for processes that need to be run periodically, but +
-don't require full daemonization, such as backup scripts.  +
-</del>+
  
 Todos los usuarios tienen su propia entrada en la base de datos de cron. Todos los usuarios tienen su propia entrada en la base de datos de cron.
 Por lo tanto, los usuarios que no tienen privilegios de administrador también pueden correr procesos periódicamente. Por lo tanto, los usuarios que no tienen privilegios de administrador también pueden correr procesos periódicamente.
  
-<del>Every usergets their own entry in the cron database, so non-root users can periodically run processes too.</del> 
  
- +Con el fin de correr programas desde el cron, necesitará usar el **//crontab//**(1).
-Con el fin de correr programas desde el cron, necesitaras usar el **//crontab//**(1).+
 La página del manual enumera una variedad de formas de hacer esto, pero el método más común es empleando el argumento //-e//. La página del manual enumera una variedad de formas de hacer esto, pero el método más común es empleando el argumento //-e//.
-<del>In order to run programs from cron, you'll need to use the +Esto bloqueará la entrada del usuario en la base de datos de cron (para evitar que otro programa lo sobrescriba), luego abra esa entrada con cualquier editor de texto especificado por la variable de entorno VISUAL.
-**//crontab//**(1). The man page lists a variety of +
-ways to do this, but the most common method is to pass the +
-//-e// argument.</del> +
-Esto bloqueará la entrada del usuario en la base de datos de cron (para evitar que otro programa los sobre escriba), luego abra esa entrada con cualquier editor de texto especificado por la variable de entorno VISUAL. +
-<del>This will lock the user's entry in the cron database (to prevent it from being overwritten by another program), then open that entry with whatever text editor is specified by the VISUAL environment variable.</del>+
 En sistemas Slackware, típicamente el editor es **//vi//**. Antes de continuar, es posible que usted necesite consultar el capitulo de **//vi//**. En sistemas Slackware, típicamente el editor es **//vi//**. Antes de continuar, es posible que usted necesite consultar el capitulo de **//vi//**.
-<del>On Slackware systems, this is typically the **//vi//** editor. You may need to refer to the chapter on **//vi//** before continuing. 
-</del> 
- 
 Las entradas de la base de datos de cron pueden parecer un poco arcaicas al principio, pero son muy flexibles. Cada línea descomentada es procesada por **//crond//** y el comando especificado se ejecuta si todas las condiciones temporales se cumplen. Las entradas de la base de datos de cron pueden parecer un poco arcaicas al principio, pero son muy flexibles. Cada línea descomentada es procesada por **//crond//** y el comando especificado se ejecuta si todas las condiciones temporales se cumplen.
  
-<del>The cron database entries may seem a little archaic at first, but they 
-are highly flexible. Each uncommented line is processed by 
-**//crond//** and the command specified is run if 
-all the time conditions match.</del> 
  
  
Línea 289: Línea 252:
 </code> </code>
  
-Como se menciono anteriormente, la sintaxis para las entradas cron es difícil de entender al principio, así que revisemos cada parte de forma individual. De izquierda a derecha, las diferentes secciones son: Minutos, Hora, Día, Mes, día de la semana y comando. Cualquier entrada asterisco <key>'*'</key> coincide con cada minuto, hora, día y así sucesivamente.+Como se mencionó anteriormente, la sintaxis para las entradas cron son difíciles de entender al principio, así que revisemos cada parte de forma individual. De izquierda a derecha, las diferentes secciones son: Minutos, Hora, Día, Mes, día de la semana y comando. Cualquier entrada asterisco <key>'*'</key> coincide con cada minuto, hora, día y así sucesivamente.
 Así que, a partir del ejemplo anterior el comando es //"/usr/local/bin/rsync-slackware64.sh 1>/dev/null 2>&1"//, se ejecuta diariamente a las 2:30 a.m. Así que, a partir del ejemplo anterior el comando es //"/usr/local/bin/rsync-slackware64.sh 1>/dev/null 2>&1"//, se ejecuta diariamente a las 2:30 a.m.
-<del>As mentioned before, the syntax for cron entries is a little difficult 
-to understand at first, so let's look at each part individually. From 
-left to right, the different sections are: Minute, Hour, Day, Month, 
-Week Day, and Command. Any asterisk <key>'*'</key> entry matches 
-every minute, hour, day, and so on. So from the example above, the 
-command is //"/usr/local/bin/rsync-slackware64.sh 1>/dev/null 2>&1"//, and 
-it runs every weekday or every week of every month at 2:30 a.m.</del> 
  
 **//crond//** también enviará un correo electrónico al usuario local con cualquier salida que genere el comando. Por está razón, muchas tareas tienen su salidas re-dirigidas a ''/dev/null'', un dispositivo especial que inmediatamente descarta todo lo que recibe. Para que le resulte más fácil recordar estas reglas, puede pegar el siguiente texto comentado en la parte superior de sus propias entradas cron. **//crond//** también enviará un correo electrónico al usuario local con cualquier salida que genere el comando. Por está razón, muchas tareas tienen su salidas re-dirigidas a ''/dev/null'', un dispositivo especial que inmediatamente descarta todo lo que recibe. Para que le resulte más fácil recordar estas reglas, puede pegar el siguiente texto comentado en la parte superior de sus propias entradas cron.
- 
-<del>**//crond//** will also e-mail the local user with 
-any output the command generates. For this reason, many tasks have 
-their output redirected to ''/dev/null'', a special 
-device file that immediately discards everything it receives. In order 
-to make it easier for you to remember these rules, you might wish to 
-paste the following commented text at the top of your own cron entries.</del> 
  
  
 <code> <code>
- +Redirect everything to /dev/null with:
-Re-dirige todo a /dev/null con:+
 #   1>/dev/null 2>&1 #   1>/dev/null 2>&1
 # #
Línea 317: Línea 265:
 </code> </code>
  
-Por defecto, Slackware incluye un número de entradas y comentarios en el contrab del administrador. Estas entradas facilitan la configuración periódica de las tareas del sistema al crear una serie de directorios en ''/etc'' correspondientes a la frecuencia con la que se deben ejecutar las tareas. Cualquier script colocado dentro de estos directorios se ejecutará cada hora, diariamente, semanalmente o mensualmente. Los nombres deben ser autoexplicativos: +Por defecto, Slackware incluye un número de entradas y comentarios en el crontab del administrador. Estas entradas facilitan la configuración periódica de las tareas del sistema al crear una serie de directorios en ''/etc'' correspondientes a la frecuencia con la que se deben ejecutar las tareas. Cualquier script colocado dentro de estos directorios se ejecutará cada hora, diariamente, semanalmente o mensualmente. Los nombres deben ser autoexplicativos:
-<del>By default, Slackware includes a number of entries and comments in +
-root's crontab. These entries make it easier to setup periodic system +
-tasks by creating a number of directories in ''/etc'' +
-corresponding to how often the tasks should run. Any script placed +
-within these directories will be run hourly, daily, weekly, or monthly. +
-The names should be self-explanatory:</del>+
 ''/etc/cron.hourly'', ''/etc/cron.hourly'',
 ''/etc/cron.daily'', ''/etc/cron.daily'',
Línea 338: Línea 280:
 ====== Fuentes ====== ====== Fuentes ======
 <!-- If you copy information from another source, then specify that source --> <!-- If you copy information from another source, then specify that source -->
- * Fuente original: [[http://www.slackbook.org/beta]] \\+  * Fuente original: [[http://www.slackbook.org/beta]] \\
 <!-- Authors are allowed to give credit to themselves! --> <!-- Authors are allowed to give credit to themselves! -->
- * Escrito originalmente por Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson+  * Escrito originalmente por Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
 <!-- * Contrbutions by [[wiki:user:yyy | User Y]] --> <!-- * Contrbutions by [[wiki:user:yyy | User Y]] -->
  
 es:slackbook:process_control ()