¿Hay alguna manera (tal vez un script) de cómo automatizar este proceso:
petr@sova:~$ ps -ef | grep middleman
petr 18445 2312 1 12:06 pts/2 00:00:01 /home/petr/.rvm/gems/ruby-1.9.3-p362/bin/middleman
petr 18581 13621 0 12:08 pts/0 00:00:00 grep --color=auto middleman
petr@sova:~$ kill -9 18445
Desafortunadamente, pkilles demasiado débil ya que tengo que ir con la -9opción activada kill.

-9conpkilldemasiado ...-KILLque-9. Qué número corresponde a qué señal depende de la implementación.SIGKILLresulta estar9en Linux i386 y Linux amd64, pero no necesariamente en todas partes. ( Más información aquí. )-KILL(porque hace que el código sea más legible), cabe señalar queSIGKILL = 9está especificado por POSIX , por lo que-9es bastante portátil hoy en día (y no depende de núcleos o arquitecturas).Respuestas:
Puede usar su shell para hacer esta tarea por usted:
El shell ejecuta el comando
pidof middlemanprimero. La salida de pidof (8) es la identificación del proceso. Por lo tanto, el shell sustituye elpidofcomando -con la identificación del proceso y se ejecutakill -9 18845(o lo que sea la identificación correcta del proceso).fuente
kill -9 $(pgrep middleman)?Existe una solución aún más simple que la de qbi: eliminemos
killalllos procesos por nombre y puede especificar señales.Consulte
man killallpara obtener más información y opciones adicionales (hay bastantes).Como su nombre lo indica, esto envía la señal a todos los procesos nombrados
middleman. Pero eso no es diferente de otras formas (comopkill). Por otra parte,pkill -9 middlemanse centrará en los procesos cuyo nombre partido, pero no son igualesmiddleman, como por ejemplomiddleman2, también.fuente
killall¡por la victoria!Las otras respuestas son completamente correctas, pero también podría agregar una tercera opción para que todas estén documentadas aquí. También puedes usar:
Consulte
man pkillpara obtener más información y opciones adicionales.Realmente no importa cuál de estos métodos uses. Todos trabajarán. Pero conocer las opciones es útil si desea modificar el comportamiento de alguna manera, ya que las páginas man correspondientes muestran qué otras opciones coincidentes están disponibles.
fuente
middleman*middleman. Aquí es donde las diferencias en cómo exactamentepkill,killall,pidofygreplos procesos de los partidos comienzan realmente a la materia!La
-fopción hace que coincida con la línea de comando completa, en lugar de solo el nombre del proceso.Tenga en cuenta que
-9debería ser una señal de último recurso, no algo para usar de forma rutinaria.fuente
complete command lineSolo por diversión, me gustaría agregar una forma más manual, de la vieja escuela
fuente
... grep [m]iddleman ...para evitar matar elgrepproceso por accidente. De esa manera, el grep no puede igualarse debido a citas divertidas.que es interactivo (seguro) y coincide con el nombre del comando parcial.
fuente