1
sigusr1() { echo $1;}
trap sigusr1  SIGUSR1

我是一个 bash 新手!

我的 .bash_profile 中有上述陷阱和信号代码。要触发sigusr1,我只需Kill -SIGUSR1 pid在终端中调用。我用谷歌搜索了如何将参数传递给sigusr1但我找不到任何东西,除非我将它用作陷阱'sigusr1 hello'SIGUSR1

但这违背了目的。我想通过终端传入参数。如何通过 kill 命令传入参数,以便sigusr1函数可以将其回显?

4

1 回答 1

0

要将参数传递给由 调用的函数trap,请将您的陷阱调用更改为:

trap 'sigusr1 $(cat ~/sigusr1-args)' SIGUSR1

像这样发送信号:

echo arg1 > ~/sigusr1-args;kill -SIGUSR1 PID
于 2015-01-19T15:03:05.263 回答