GNU/Linux >> Tutoriales Linux >  >> Linux

Matar proceso por archivo pid

cat /var/run/myProcess.pid | sudo xargs kill -9

En algunas situaciones, el más compacto:

pkill -F /var/run/myProcess.pid

es el camino a seguir. He tenido problemas con las variedades:

kill $(cat /var/run/myProcess.pid)
# Or
kill `cat /var/run/myProcess.pid`

cuando tuve que poner el comando en otra cosa que podría analizarlo usando reglas diferentes, como lo hace Monit para sus comandos de inicio/parada.


Creo que está experimentando esto porque su shell predeterminado es dash (el shell de Debian almquist), pero está usando la sintaxis bash. Puede especificar bash en la línea shebang con algo como,

#!/usr/bin/env bash

O bien, puede usar la expresión de tilde invertida compatible con dash y bash sugerida por admdrew en los comentarios

kill -9 `cat /var/run/myProcess.pid`

Independientemente, no puedes confiar en /bin/sh ser bash.


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Bash =~ Regex y Https://regex101.com/?

  3. ¿Diferencia entre /var/log/messages, /var/log/syslog y /var/log/kern.log?

  4. ¿Cómo obtengo la ruta de un proceso en Unix/Linux?

  5. ¿Qué es un archivo .pid y qué contiene?

¿No se puede eliminar el proceso de Gedit desde su Pid?

CentOS / RHEL:Cómo rotar el archivo /var/log/wtmp y /var/log/btmp usando logrotate

mysqld_safe mysqld del archivo pid /var/run/mysqld/mysqld.pid evitar el reinicio del servidor

Ejecute el comando bash en la canalización de jenkins

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?

chroot falla:no se puede ejecutar el comando '/bin/bash':no ​​existe tal archivo o directorio