{"id":15538,"date":"2017-05-09T04:00:15","date_gmt":"2017-05-09T02:00:15","guid":{"rendered":"https:\/\/eltallerdelbit.com\/?p=15538"},"modified":"2020-12-10T10:30:55","modified_gmt":"2020-12-10T09:30:55","slug":"comandos-procesos-linux","status":"publish","type":"post","link":"https:\/\/eltallerdelbit.com\/comandos-procesos-linux\/","title":{"rendered":"Comandos b\u00e1sicos para trabajar con procesos Linux"},"content":{"rendered":"

Vamos a ver un resumen de comandos<\/strong>\u00a0b\u00e1sicos\u00a0para trabajar y gestionar\u00a0procesos Linux<\/strong>.<\/h2>\n

 <\/p>\n

comando ps<\/em><\/strong><\/span><\/h3>\n

 
\nEl comando ps<\/strong><\/em> en Linux simplemente nos muestra una instant\u00e1nea de los procesos actuales en ejecuci\u00f3n.<\/p>\n

Ahora vamos a llamar a un nuevo proceso:<\/p>\n

sleep 60 &<\/pre>\n

 
\n\"comando<\/p>\n

Ahora comprobamos que el proceso se encuentra en ejecuci\u00f3n; de nuevo con ps<\/em>:<\/p>\n

\"crear<\/p>\n

 <\/p>\n

 <\/p>\n

TERMINAR PROCESOS POR N\u00daMERO DE PROCESO (Comando kill<\/em><\/strong>)<\/span><\/h3>\n

 <\/p>\n

Ahora vamos a terminar dicho proceso, con el comando kill<\/em><\/strong> y el numero de proceso:<\/p>\n

 
\n\"comando
\n <\/p>\n

Cuando un comando no se pueda terminar con el comando kill<\/strong><\/em>, ejecutaremos kill -9<\/em><\/p>\n

 
\n
\n <\/p>\n

TERMINAR PROCESOS POR NOMBRE (comando killall<\/em><\/strong>)<\/span><\/h3>\n

 <\/p>\n

Ahora crearemos 2 procesos con el mismo nombre, y comprobamos que est\u00e1n ejecut\u00e1ndose:<\/p>\n

 
\n\"crear
\n <\/p>\n

Y los terminaremos con el comando killall<\/em><\/strong>:<\/p>\n

 
\n\"comando
\n <\/p>\n

 
\n–> Par\u00e1metro -w<\/strong><\/em> (Esperar a que los procesos terminen):<\/p>\n

killall -w sleep<\/pre>\n

 
\n\"lillall
\n 
\nEl comando anterior espera a que todos los procesos “sleep<\/em>” terminen. Lo comprueba una vez por segundo.
\n 
\nEste comando puede alargarse eternamente si la se\u00f1al es ignorada o no tiene efecto…
\n <\/p>\n

 
\n–> Par\u00e1metro -u<\/em><\/strong> (finaliza solo procesos ejecutados como usuario):
\nSi ejecutamos killall -u nombreusuario<\/em><\/strong>, se terminar\u00e1n todos los procesos ejecutados por dicho usuario.
\n <\/p>\n

 <\/p>\n

AYUDA DEL COMANDO KILLALL<\/em><\/strong><\/h4>\n

 
\n\"ayuda<\/p>\n

 <\/p>\n


\n <\/p>\n

Comando pidof<\/strong> (ID de procesos)<\/span><\/h3>\n

\n

pidof nombreproceso<\/pre>\n

 
\n\"pidof
\n 
\nEn este caso nos muestra 2 id de proceso bash<\/em>, puesto que hay 2 ventanas de terminal abiertas.<\/p>\n

 <\/p>\n

pidof -s bash<\/pre>\n

Este par\u00e1metro nos mostrar\u00e1 solo el pid del proceso nombrado
\n 
\n\"pidof-s
\n <\/p>\n

Ayuda del comando pidof<\/em><\/strong><\/h4>\n

\"ayuda<\/p>\n

 <\/p>\n

 <\/p>\n

Comando nice<\/em><\/strong><\/span><\/h3>\n

 
\nEl comando nice<\/em><\/strong> en Linux sirve para ejecutar un programa con su prioridad de programaci\u00f3n modificada.
\n 
\nSolo los usuarios root pueden modificar la prioridad de todos los procesos. Los dem\u00e1s usuarios podr\u00e1n modificar la prioridad de los procesos de los que son propietarios.<\/p>\n

 
\nEn este caso, llamamos al proceso sleep<\/em>, y despu\u00e9s cambiamos su prioridad con<\/p>\n

nice -n 19 sleep 30 &<\/pre>\n

y comprobamos c\u00f3mo ha cambiado su pid;
\n <\/p>\n

 
\n;entonces podemos reajustar de nuevo la prioridad de este proceso, con pid 23511, con el comando renice<\/em><\/strong>:<\/p>\n

renice -n 19 23511<\/pre>\n

 
\nVemos que aparece el mensaje:<\/p>\n

23511 (ID de proceso) prioridad antigua 19, prioridad nueva 19.<\/pre>\n

 <\/p>\n

\"comando<\/p>\n

 <\/p>\n

Ayuda sobre el comando nice<\/em><\/strong>:<\/h4>\n

 
\nEl rango de valores “nice<\/strong><\/em>” abarca desde -20 (m\u00e1s favorable al proceso) hasta 19 (menos favorable al proceso).<\/p>\n

Los argumentos obligatorios para las opciones largas son tambi\u00e9n obligatorios para las opciones cortas.<\/p>\n

-n, –adjustment=N a\u00f1ade el entero N al valor “nice” (10 por omisi\u00f3n)<\/p>\n

 
\n
\n <\/p>\n

Comando top<\/em><\/strong><\/span><\/h3>\n

 <\/p>\n

El comando top nos muestras los procesos en ejecuci\u00f3n en tiempo real en nuestro sistema Linux<\/p>\n

\"comando<\/p>\n

 <\/p>\n

Lo m\u00e1s interesante del comando top es que nos mostrar\u00e1 :<\/p>\n

–> Tiempo de actividad y carga del sistema<\/p>\n

\"comando
\n 
\n–> Las tareas<\/p>\n

\"comando
\n 
\n–> Estados de la CPU, memoria f\u00edsica y memoria virtual:<\/p>\n

\"comando
\n 
\nPara obtener m\u00e1s info acerca del funcionamiento del comando top en Linux, podemos ejecutar man top (para ver el manual del comando), o desde este enlace\u00a0de Geek Theory<\/a> encontraremos m\u00e1s info avanzada acerca de este comando.
\n <\/p>\n

 <\/p>\n

comando pstree<\/em><\/strong><\/span><\/h3>\n

 
\nNos muestra en forma de \u00e1rbol (de forma jer\u00e1rquica) una lista de los procesos en ejecuci\u00f3n.<\/p>\n

Para mostrar el pdi de los procesos ejecutaremos el par\u00e1metro -p:<\/p>\n

pstree -p<\/pre>\n

 
\nSi estamos buscando un proceso en concreto, ejecutaremos:<\/p>\n

pstree pid del proceso<\/pre>\n

 
\npor ej: <\/p>\n

pstree 21716<\/pre>\n

 
\n\"comando
\n <\/p>\n

 <\/p>\n

Comando time<\/span><\/h3>\n

Con el comando time podremos averiguar el tiempo que cuesta ejecutar un comando.
\n 
\nLa sint\u00e1xis es:<\/p>\n

time comando<\/pre>\n

\"comando<\/p>\n

 <\/p>\n\n

<\/div>","protected":false},"excerpt":{"rendered":"

Vamos a ver un resumen de comandos b\u00e1sicos para trabajar y gestionar procesos Linux.<\/p>\n","protected":false},"author":1,"featured_media":15562,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false},"categories":[1268],"tags":[231,1150],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/posts\/15538"}],"collection":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/comments?post=15538"}],"version-history":[{"count":2,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/posts\/15538\/revisions"}],"predecessor-version":[{"id":30545,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/posts\/15538\/revisions\/30545"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/media\/15562"}],"wp:attachment":[{"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/media?parent=15538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/categories?post=15538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eltallerdelbit.com\/wp-json\/wp\/v2\/tags?post=15538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}