LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1679|回复: 6

怎么样判断一个进程是否还存在,如果不存在了重新启动他

[复制链接]
发表于 2007-5-26 13:30:43 | 显示全部楼层 |阅读模式
Phlinux是花生壳的Linux版本,我系统是Debian 4,但是可能是程序不稳定还是什么原因,Phlinux启动以后经常莫名其妙的就关闭了,想写个定时任务,检测phlinux是否存在,如果不存在则重新启动
发表于 2007-5-26 14:30:11 | 显示全部楼层
ps -ef | grep xxx
pidof xxx
pkill -0 xxx
等各种方法

实际上
想启动一个永久运行的进程是很简单的
并且不需要手工检测与重新启动
参考/etc/inittab 最后几行是如何启动控制台下的login程序的
login启动后,如果退出,会自动被init重新启动
回复 支持 反对

使用道具 举报

发表于 2007-5-26 15:04:02 | 显示全部楼层
才发现 huan 也参与了 inlsd。有 gmail 么?
goldenshore999 AA gmail DD com
加我吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-26 23:02:57 | 显示全部楼层
看了一下/etc/inittab,我的文件内容是这样的

  1. # /etc/inittab: init(8) configuration.
  2. # $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

  3. # The default runlevel.
  4. id:2:initdefault:

  5. # Boot-time system configuration/initialization script.
  6. # This is run first except when booting in emergency (-b) mode.
  7. si::sysinit:/etc/init.d/rcS

  8. # What to do in single-user mode.
  9. ~~:S:wait:/sbin/sulogin

  10. # /etc/init.d executes the S and K scripts upon change
  11. # of runlevel.
  12. #
  13. # Runlevel 0 is halt.
  14. # Runlevel 1 is single-user.
  15. # Runlevels 2-5 are multi-user.
  16. # Runlevel 6 is reboot.

  17. l0:0:wait:/etc/init.d/rc 0
  18. l1:1:wait:/etc/init.d/rc 1
  19. l2:2:wait:/etc/init.d/rc 2
  20. l3:3:wait:/etc/init.d/rc 3
  21. l4:4:wait:/etc/init.d/rc 4
  22. l5:5:wait:/etc/init.d/rc 5
  23. l6:6:wait:/etc/init.d/rc 6
  24. # Normally not reached, but fallthrough in case of emergency.
  25. z6:6:respawn:/sbin/sulogin

  26. # What to do when CTRL-ALT-DEL is pressed.
  27. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

  28. # Action on special keypress (ALT-UpArrow).
  29. #kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

  30. # What to do when the power fails/returns.
  31. pf::powerwait:/etc/init.d/powerfail start
  32. pn::powerfailnow:/etc/init.d/powerfail now
  33. po::powerokwait:/etc/init.d/powerfail stop
复制代码


可是我应该加在哪个地方,例如/usr/local/phlinux -d 这个命令,是应该加在:
#The default runlevel.后面还是# This is run first except when booting in emergency (-b) mode.后面?
回复 支持 反对

使用道具 举报

发表于 2007-5-27 01:22:53 | 显示全部楼层
为什么
Phlinux启动以后经常莫名其妙的就关闭了
回复 支持 反对

使用道具 举报

发表于 2007-5-27 09:04:20 | 显示全部楼层
inittab语法
  <id>:<runlevels>:<action>:<process>

比如
zz:2345:respawn:/path/to/Phlinux

重新加载init
# kill -HUP 1
回复 支持 反对

使用道具 举报

发表于 2007-5-27 09:06:19 | 显示全部楼层
Post by 晨想
才发现 huan 也参与了 inlsd。有 gmail 么?
goldenshore999 AA gmail DD com
加我吧。


Hi 晨想
huanlf@gmail.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表