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

0

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 de long.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, el 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.

Mandragor
fuente

Respuestas:

0

Puede ejecutar sudo (o su -) pkill 67 y / o usar sudo su - $ (nombre de usuario) para ejecutarlo, lo que debería desconocer automáticamente y reducir los permisos de los scripts, sin embargo, mientras ese script o cualquier elemento secundario esté ejecutarlo se mostrará corto de un --nohup iirc.

linuxdev2013
fuente