【问题标题】:Starting and stopping a process daily using the shell?每天使用 shell 启动和停止进程?
【发布时间】:2010-07-09 02:32:07
【问题描述】:

我知道我可以使用 cron 启动该进程,但我将如何停止它呢?我想过每天 00:00 开始一个新的 process1,然后在 23:59 我会开始一个 process2 做ps -aux | grep process1,从线路中获取 pid 然后杀死它,但我想知道是否有更好的方法去做。

我也可以使用 Python 或 Java,如果使用任何一种语言都更容易的话。

【问题讨论】:

  • 为什么不让进程自行终止?
  • pgrep 是从进程列表中 grep PID 的正确方法。
  • @Fosco 我是一个 linux 菜鸟,但在我看来这并不总是可能的? @Sjoerd 这正是我所需要的,谢谢

标签: bash shell cron


【解决方案1】:

记录它的PID:

nohup my_service &
echo $! > /var/run/my_service.pid

然后被那个 PID 杀死。

您可能需要同时检查 PID 和进程名称,以确保该进程在白天没有崩溃,并且其他一些进程没有获得该 PID。 (甚至更好的想法是设置主管。)但是,如果您确定没有其他进程使用该名称,您可以简单地使用 pkillkillall

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 2012-01-24
    • 1970-01-01
    相关资源
    最近更新 更多