我写了下面的脚本:
#!/bin/bash
sleep 15
function_signalr()
{
date
date | awk '{printf "%-15s\n", $2}'
}
trap "function_signalr" 10
Run Code Online (Sandbox Code Playgroud)
当我通过“进程&”启动进程时,将给出PID。我确实杀死了-10 PID,但是我的陷阱不起作用。该进程被杀死,但陷阱没有弹出。没有给出日期消息。如有任何建议,我将不胜感激。
您trap无法使用,因为外壳尚不了解。
您需要定义trap函数,设置trap,然后编写代码。
#!/bin/bash
function_signalr()
{
date
date | awk '{printf "%-15s\n", $2}'
}
trap "function_signalr" 10
# Code follows now
sleep 15
Run Code Online (Sandbox Code Playgroud)
此外请注意,这sleep是阻塞的,这意味着如果您这样做,kill -10 PID则只有在完成后trap才能执行sleep。