【问题标题】:run a process from script and kill it from another script using PID从脚本运行一个进程并使用 PID 从另一个脚本中杀死它
【发布时间】:2013-06-17 21:38:09
【问题描述】:

我想从脚本运行一个进程并使用 PID 从另一个脚本中终止它。我可以想到两件事要做,但我认为您可以帮助我获得更有效的方法。第一个是将 PID 存储在临时文件中并从另一个脚本中读取它。另一种方法是将其保存为第一个脚本中的环境变量并由另一个脚本使用。我很确定有更好的方法来做到这一点。我使用 killall 和 pkill 按进程名称终止进程。然而,这并没有奏效。我想用 PID 杀死它。

【问题讨论】:

    标签: bash shell kill pid


    【解决方案1】:

    我建议使用您所说的第一种方法。创建一个包含进程信息的临时 .pid 文件是跟踪正在运行的进程的 PID 的一种非常常见的方法。在大多数语言中都很容易做到,而且非常简单。

    第二个可能会产生问题,因为根据您使用的 shell,该环境变量可能难以确保它是全局的且不被触及。

    【讨论】:

    • 我同意。当父进程运行脚本时,脚本会从环境的新副本开始。当它更改环境变量时,父进程不会看到更改。
    【解决方案2】:

    创建 PID 或 .lck 文件始终是最佳实践。您是标识符和脚本的所有者,因此您可以计划防止出现其他问题,例如其他用户尝试启动同一个应用程序。

    【讨论】:

      猜你喜欢
      • 2018-08-28
      • 1970-01-01
      • 2015-04-11
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-13
      • 2016-09-03
      相关资源
      最近更新 更多