将脚本制作成linux服务

前端之家收集整理的这篇文章主要介绍了将脚本制作成linux服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
– 编辑,还有一些问题 –

好我的脚本使用循环来等待网络连接.因此,当我运行它时,即使使用守护进程,它也只是坐在那里而不是让我回到shell.我试过su -c“/ home / webreports / report-list&” USER但它试图以用户身份运行&即使我有引号,我甚至尝试过单引号.

– 原版的 –
我已经制作了一个脚本(尚未测试),用于将bash脚本作为服务运行.我有两个问题.

1)如何让它作为特定用户运行?我们使用的软件不能以root身份运行,并且如果它确实会崩溃(可怕的软件我们很遗憾).那么如何让用户“JOEBOB”让它运行服务呢.

2)我是否只将脚本文件放入“/etc/rc5.d”以便能够使用“service report-listen start”?

—脚本 –

  1. #!/bin/sh
  2. #
  3. # myservice This shell script takes care of starting and stopping
  4. # the /home/webreports/report-listen
  5. #
  6.  
  7. # Source function library
  8. . /etc/rc.d/init.d/functions
  9.  
  10.  
  11. # Do preliminary checks here,if any
  12. #### START of preliminary checks #########
  13.  
  14.  
  15. ##### END of preliminary checks #######
  16.  
  17.  
  18. # Handle manual control parameters like start,stop,status,restart,etc.
  19.  
  20. case "$1" in
  21. start)
  22. # Start daemons.
  23.  
  24. echo -n $"Starting report-listen daemon: "
  25. echo
  26. daemon /home/webreports/report-listen
  27. echo
  28. ;;
  29.  
  30. stop)
  31. # Stop daemons.
  32. echo -n $"Shutting down report-listen: "
  33. killproc /home/webreports/report-listen
  34. echo
  35.  
  36. # Do clean-up works here like removing pid files from /var/run,etc.
  37. ;;
  38. status)
  39. status /home/webreports/report-listen
  40.  
  41. ;;
  42. restart)
  43. $0 stop
  44. $0 start
  45. ;;
  46.  
  47. *)
  48. echo $"Usage: $0 {start|stop|status|restart}"
  49. exit 1
  50. esac
  51.  
  52. exit 0

解决方法

使用su以不同的用户身份运行脚本:
  1. daemon su -c /home/webreports/report-listen johndoe

其中johndoe是您希望它运行的用户.

将脚本放在/etc/init.d/myservice中,然后将其符号链接到/etc/rc.d/S99myservice.

猜你在找的Linux相关文章