搜索
bottom↓
回复: 5

Linux中自启动和手动启动有什么差别呢?

[复制链接]

出235入222汤圆

发表于 2021-7-3 11:57:39 | 显示全部楼层 |阅读模式
纯C的代码,使用阿里云SDK连接服务器。如果使用自启动脚本,其他功能正常,但阿里云连接不了。但进入终端启动,程序就能连接。

启动脚本如下

  1. #!/bin/sh
  2. #
  3. # start/stop app daemon.

  4. ### BEGIN INIT INFO
  5. # Provides:          app
  6. # Required-Start:    $network
  7. # Required-Stop:     $network
  8. # Default-Start:     S 2 3 4 5
  9. # Default-Stop:      0 1 6
  10. # Short-Description: app daemon
  11. # Description:       app is a daemon used to enable NFC features
  12. ### END INIT INFO

  13. chmod 755 /home/root/ftp/app

  14. #设置app 所在目录
  15. DAEMON=/home/root/ftp/app   
  16. PIDFILE=/var/run/app.pid
  17. DESC="Linux app daemon for firets"

  18. if [ -f /etc/default/app ] ; then
  19.         . /etc/default/app
  20. fi

  21. set -e

  22. do_start() {
  23.        $DAEMON > /tmp/app.log 2>&1 &
  24. }

  25. do_stop() {
  26.         start-stop-daemon --stop --name app --quiet
  27. }

  28. case "$1" in
  29.   start)
  30.         echo "Starting $DESC"
  31.         do_start
  32.         ;;
  33.   stop)
  34.         echo "Stopping $DESC"
  35.         do_stop
  36.         ;;
  37.   restart|force-reload)
  38.         echo "Restarting $DESC"
  39.         do_stop
  40.         sleep 1
  41.         do_start
  42.         ;;
  43.   *)
  44.         echo "Usage: $0 {start|stop|restart|force-reload}" >&2
  45.         exit 1
  46.         ;;
  47. esac

  48. exit 0

复制代码

出0入24汤圆

发表于 2021-7-3 13:02:32 来自手机 | 显示全部楼层
自启动是以root用户运行的吗?进程能否看到?
还有一种可能就是自启动的环境变量不一样,如果在程序里调用了外部命令,可能会找不到路径失败。

出40入0汤圆

发表于 2021-7-5 08:10:39 | 显示全部楼层
这个脚本不错,具体是怎么添加的?

出0入14汤圆

发表于 2021-7-5 08:58:55 | 显示全部楼层
最主要的区别是环境变量,可以用runuser -l user -c 强制使用某个用户的环境变量。

出235入222汤圆

 楼主| 发表于 2021-7-5 10:21:55 | 显示全部楼层
解决了,谢谢楼上。确实是运行环境的问题。有个配置文件,读取的时候用到了相对路径。

出235入222汤圆

 楼主| 发表于 2021-7-5 10:22:55 | 显示全部楼层
tdatd 发表于 2021-7-5 08:10
这个脚本不错,具体是怎么添加的?

第一步,创建开启脚本 apprun ,目录:touch /etc/init.d/apprun(就是楼主位代码)
第二步:查看当前运行级别:sudo runlevel ,比如 N 5 就是5级别。 建立软链接:
  1. ln -s /etc/init.d/apprun /etc/rc5.d/S50appgo
复制代码
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 -- 东莞阿莫电子网站 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2022-9-28 15:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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