скрипт, який запускає інший сценарій як інший користувач, як видалити процес su?


0

У мене є Fedora Linux на скрипті bash, який я запускаю як користувач root, який починає інший сценарій як менш привілейований користувач rpmbuild.

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

Зміст long.sh

#!/bin/sh

sleep 300

Тепер, що станеться, якщо ви зробите 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

Як я можу позбутися від процесу 67 su rpmbuild, щоб rpmbuildзалишився лише процес?

Або мені потрібен інший інструмент?

Було б добре, якби ці su(багато їх у переліку процесів) зникли.

Відповіді:


0

Ви можете запустити sudo (або su -) pkill 67 та / або використовувати sudo su - $ (ім'я користувача), щоб запустити його, що повинно автоматично відключити та знешкодити дозволи на сценарій (и), однак у той час як цей сценарій або будь-які діти запустивши його, покаже короткий показник --nohup iirc.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.