¿Cómo puedo eliminar el proceso de script de shell principal sin eliminar el proceso secundario?
1
Escribo un script de shell que ejecuta el proceso PHP. Pero no se estaba ejecutando en segundo plano. ¿Puedo matar el script de shell sin matar el proceso PHP que se está ejecutando?
Si está en la misma terminal con el proceso, escriba ctrl-zpara detener al padre y use ps -efpara encontrar el PID del niño php. Use las líneas de muerte anteriores para separar efectivamente al niño del padre. Luego, fgregrese a su script de shell y debería terminar normalmente, o puede kill -9ejecutar el script de shell por PID o nombre directamente mientras se encuentra en el indicador. De lo contrario, matar al padre (eventualmente) eliminará al niño.
Respuestas:
Sí, pero primero debes separarlo. Para separar el proceso secundario del proceso primario, ejecute:
kill -20 PID
kill -18 PID
Ver también: https://stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup
Si está en la misma terminal con el proceso, escriba
ctrl-z
para detener al padre y useps -ef
para encontrar el PID del niño php. Use las líneas de muerte anteriores para separar efectivamente al niño del padre. Luego,fg
regrese a su script de shell y debería terminar normalmente, o puedekill -9
ejecutar el script de shell por PID o nombre directamente mientras se encuentra en el indicador. De lo contrario, matar al padre (eventualmente) eliminará al niño.fuente