首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux进程重启动器

Linux进程重启动器
EN

Stack Overflow用户
提问于 2014-05-12 13:06:00
回答 2查看 165关注 0票数 2

我想要一个脚本,它可以做到以下几点:

代码语言:javascript
复制
if process_name not running
    start process from path /home/data/process_name
    write "date: process start" to /home/data/log.txt

我从来没有写过bash脚本,我也不知道该怎么做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-12 13:15:51

试试这个:

代码语言:javascript
复制
if ! pgrep process_name; then
  /home/data/process_name &
  echo "$(date): Process start" >> /home/data/log.txt
fi

如果要终止进程并启动它,请尝试如下:

代码语言:javascript
复制
if ! pgrep process_name; then
  /home/data/process_name &
  echo "$(date): Process start" >> /home/data/log.txt
else
  killall process_name
  /home/data/process_name &
  echo "$(date): Process start" >> /home/data/log.txt
fi
票数 1
EN

Stack Overflow用户

发布于 2014-05-12 13:23:15

在Debian和Ubuntu上,您可以使用启动-停止-守护进程。它有各种各样的选项来帮助确定正确的过程,这样您就不会以两次启动它或杀死错误的进程而结束。手册页中的一个示例:

代码语言:javascript
复制
Start  the  food daemon, unless one is already running (a process named
food, running as user food, with pid in food.pid):

    start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon

此命令确保进程属于正确的用户,具有正确的名称,并具有与/var/run/food.pid中的进程id匹配的进程id。当然,你不用全用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23609912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档