小编Jon*_*Jon的帖子

sudo 忽略从同一脚本发送的 SIGTERM

我试图找出为什么这不起作用:

\n\n
#!/bin/bash\n\nsudo sleep 60 &\nsudo_pid=$!\nsudo kill $sudo_pid\n
Run Code Online (Sandbox Code Playgroud)\n\n

我希望在之后killsudo命令及其子sleep进程将被终止,但它们没有,如以下脚本所示:

\n\n
#!/bin/bash\n\nsudo sleep 60 &\nsudo_pid=$!\nsudo kill $sudo_pid\n\nif ps -p $sudo_pid > /dev/null; then\n    sudo kill $sudo_pid\nelse\n    echo "No sudo process running"\n    exit 1\nfi\n\nif ps -p $sudo_pid > /dev/null; then\n    echo "sudo (pid $sudo_pid) is still running"\n    ps -F $sudo_pid\nelse\n    echo "sudo successfully killed"\nfi\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我运行它时会产生以下输出(带有sudo缓存的信用):

\n\n
jon@ubuntu:~$ ./so.sh \nsudo (pid 46199) is still running\nUID         PID   PPID  C    SZ   RSS PSR STIME TTY …
Run Code Online (Sandbox Code Playgroud)

linux bash sudo signals kill

8
推荐指数
3
解决办法
1788
查看次数

标签 统计

bash ×1

kill ×1

linux ×1

signals ×1

sudo ×1