我有一个 bash 脚本,它无限休眠并等待信号处理程序进行一些处理,然后返回休眠。我的问题是我也想手动触发这个脚本,并且与整个 sleep-signal_handle 周期中发生的事情异步。
我想知道如何做到这一点。正确的方法是从命令行手动向脚本发出信号吗?这可以在提供论据的同时完成吗?还是我应该运行脚本的另一个实例?第二种方法的问题是我担心在运行作用于相同数据的相同脚本的两个实例时会出现同步问题。
请您参考如下方法:
命令行:
echo 'argument1' > tmp.tmp
kill -USR1 [pid of process]
脚本:
export arg=""
trap "arg=$(cat tmp.tmp)" SIGUSR1
以上全是瞎编的,下次有问题请贴代码。谢谢。