script que inicia otro script como otro usuario, ¿cómo eliminar su proceso?

script que inicia otro script como otro usuario, ¿cómo eliminar su proceso?

Tengo un script bash en Fedora Linux, que ejecuto como usuario root, que inicia otro script como usuario menos privilegiado rpmbuild.

#!/bin/sh
# start as another user, fork
su rpmbuild -c ./long.sh &
# disown  the job
disown
# run some other long running things. 

Contenido delong.sh

#!/bin/sh

sleep 300

Ahora, ¿qué pasa si haces un ps aux:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        67  0.0  0.0  81884  4080 ?        S    12:42   0:00 su rpmbuild -c ./long.sh
rpmbuild    68  0.0  0.0   9512  2340 ?        Ss   12:42   0:00 /bin/sh ./long.sh
rpmbuild    69  0.0  0.0   4316   628 ?        S    12:42   0:00 sleep 300

¿Cómo puedo deshacerme del proceso 67 su rpmbuild, para que solo rpmbuildquede el proceso?

¿O necesito otra herramienta?

Sería bueno que estos su(muchos de ellos en la lista de procesos) desaparecieran.

Respuesta1

Puede ejecutar sudo (o su - ) pkill 67 y/o usar sudo su - $(username) para ejecutarlo, lo que automáticamente debería rechazar y reducir los permisos de los scripts, sin embargo, mientras ese script o cualquier hijo estén ejecutarlo mostrará algo menos que --nohup iirc.

información relacionada