我需要在完全独立的进程中运行炸弹功能,而不是子进程,因此当其中一个新终端窗口关闭时,整个脚本不会关闭。我试过用&结束这一行。但这不起作用,因为它创建了一个子流程。
#!/bin/bash
bomb(){
while :
do
x-terminal-emulator -e bomb
done
}
point(){
score=$(<score.txt)
let score=$score+1
echo $score > score.txt
}
funcXkill(){
while :
do
xkill
point
done
}
funcXkill &
bomb
答案 0 :(得分:0)
在unix下,如果一个进程死掉,他们会向他的tty发送一个 HUP 信号。
所以要分离一个进程,你必须关闭他的I / O:
subfunction </dev/null >/dev/null 2>&1 &
您甚至可以使用nohup
命令:
nohup subfunction &
请参阅man nohup
。