avi*_*rto 1 shell kill shell-script
我正在尝试一个简单的测试来从脚本内部杀死脚本。它似乎不起作用。
function testKill
{
PID=$$
kill $PID
echo hello!
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个函数时,
[....]$ testKill
hello!
Run Code Online (Sandbox Code Playgroud)
它显然不会终止进程。如何在发送 echo 命令之前使进程终止?
当我将这一切移到外部脚本中时,如果我直接从命令行调用脚本,它会正确终止。但是,如果我在 .bash_profile 中创建一个函数并从该函数中调用该脚本,则该脚本不会被终止,而是会打印出来。如何将其集成到我的 .bash_profile 中?
这是在更复杂的脚本中使用的最小工作示例。
您还没有在示例中编写脚本;这是一个函数。因此kill,您将 应用于交互式 shell 会话。交互式 shell 会忽略大多数信号,包括SIGTERM您发送的信号。
将函数及其调用放在脚本中并运行它。做你期望的事情的可能性要大得多。
| 归档时间: |
|
| 查看次数: |
2740 次 |
| 最近记录: |