[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/23 19:52 (UTC)] – [ps] slackwarespanoles:slackbook:process_control [2019/03/18 06:50 (UTC)] (actual) – [Fuentes] rramp
Línea 2: Línea 2:
 ====== 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 8: 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 20: 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 50: 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 67: Línea 67:
  
  
-Como puede 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 78: Línea 78:
 </code> </code>
  
-Lo que se muestra es el nombre del comando PID'(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.+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.
  
  
Línea 105: 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 162: 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 181: 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 225: 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.
  
 ===== cron ===== ===== cron =====
Línea 238: Línea 238:
  
  
-Con el fin de correr programas desde el cron, necesitaras usar el **//crontab//**(1).+Con el fin de correr programas desde el cron, necesitará 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//.
-Esto bloqueará la entrada del usuario en la base de datos de cron (para evitar que otro programa lo sobre escriba), luego abre esa entrada con cualquier editor de texto especificado por la variable de entorno VISUAL.+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.
 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//**.
 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.
Línea 252: 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.
  
Línea 259: Línea 259:
  
 <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 266: 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:
 ''/etc/cron.hourly'', ''/etc/cron.hourly'',
 ''/etc/cron.daily'', ''/etc/cron.daily'',
Línea 281: 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 ()