有nohup,有nousr1命令吗?

use*_*632 12 linux

我的几个常规程序(定期)崩溃并显示消息“用户定义的信号 1”。我知道有nohup命令,但有nousr1命令吗?或者可以nohup用 USR1做类似的事情?

Jan*_*nen 8

shelltrap内置命令怎么样?

trap 'echo "Thou shalt not USR1 me"' USR1 
Run Code Online (Sandbox Code Playgroud)


Rus*_*lan 3

一个简单的黑客解决方案,具有类似于 的实用程序nohup,但对于SIGUSR1,将获取coreutils源代码的副本,解压它,然后执行

sed -i 's/SIGHUP/SIGUSR1/' /path/to/coreutils/src/nohup.c
Run Code Online (Sandbox Code Playgroud)

,还可以选择更改输出文件名

sed -i 's/nohup\.out/nousr1.out/g' /path/to/coreutils/src/nohup.c
Run Code Online (Sandbox Code Playgroud)

,编译此源并将新编译的nohup二进制文件安装到/usr/bin/nousr1

cp /path/to/coreutils/src/nohup /usr/bin/nousr1
Run Code Online (Sandbox Code Playgroud)

之后,正如我检查的那样,sleep 1000退出USR1,而不nousr1 sleep 1000受此信号的影响。