我的几个常规程序(定期)崩溃并显示消息“用户定义的信号 1”。我知道有nohup
命令,但有nousr1
命令吗?或者可以nohup
用 USR1做类似的事情?
shelltrap
内置命令怎么样?
trap 'echo "Thou shalt not USR1 me"' USR1
Run Code Online (Sandbox Code Playgroud)
一个简单的黑客解决方案,具有类似于 的实用程序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
受此信号的影响。
归档时间: |
|
查看次数: |
652 次 |
最近记录: |