Sev*_*ver 2 linux bash operating-system
我有简单的 bash 脚本
#!/bin/bash
(while true; do
true;
sleep 3
done) &
Run Code Online (Sandbox Code Playgroud)
如何将这个循环的 pid 分配给变量,以便将来终止进程?我尝试陷阱,但循环有自己的 pid 所以我应该知道在后台运行的循环的 pid 以杀死它,例如在 SIGTERM 之后。
可以从该$!变量中提取启动的后台进程的 PID 。
$ (while true; do
> true;
> sleep 3
> done) &
[1] 26159
$ bgPID=$!; echo "$bgPID" # <---- To store it in a bash variable.
26159
$ kill "$bgPID"
[1]+ Terminated ( while true; do
true; sleep 3;
done )
Run Code Online (Sandbox Code Playgroud)