【问题标题】:Lanch and kill script monitor via ssh通过 ssh 启动和终止脚本监视器
【发布时间】:2015-12-22 11:57:28
【问题描述】:

我有一个 bash 脚本来监控一些系统统计数据。

我需要在多台机器上同时运行脚本。

我想在所有机器上启动脚本,当我要监控的操作结束时,我需要停止记录。

要启动脚本,我可以使用 ssh,但我不知道如何停止它。

【问题讨论】:

  • 如果满足某些条件,为什么不应该在脚本中使用 kill -9 $$ 之类的内容?
  • 您可以在您启动的脚本中将 pid 转储到文件 echo $!>xyz.pid。然后稍后使用ssh -q machine "cat xyz.pid | xargs kill"

标签: bash ssh kill-process


【解决方案1】:

如果你想杀死只知道名字的脚本,你可以试试:

kill -9 `ps -e | grep NAME_OF_SCRIPT | cut -d ' ' -f 3`

【讨论】:

    【解决方案2】:

    你可以这样做:

    #!/bin/bash
    while [ ! -z $(pidof process_name_you_wish_to_monitor) ]
    do
    #do what you wish to do here or wait certain number of seconds.
    #I would better wait as I have nothing to do ;)
    sleep 10s
    done
    

    编辑

    我最初在脚本末尾有kill -9 $$,但因为它是多余的而将其删除。无论如何,该过程将优雅地结束。不是吗?

    【讨论】:

      猜你喜欢
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多