在我的 bash 脚本中,我有一个函数可以在无限循环中执行一项特定任务。为了允许我的代码的下一部分同时运行,我使用myFunc &
.
当程序的其余部分完成后,如何终止该函数?
答案1
有几种选择。如果这是您唯一的后台进程,那么您可以轻松地杀死它
kill %1
您可以保存子shell的PID:
myFunc &
myFunc_PID=$!
[...]
kill -HUP "$myFunc_PID"
您还可以使用
kill %myFunc
将子 shell 杀死放在 EXIT 处理程序中是有意义的:
trap 'kill %myFunc' EXIT