Linux下自定义服务启动失败的问题求助
时间:2010-07-18
来源:互联网
用C++编写了一个小工具,想让工具随操作系统启动。采用将该程序注册成系统服务的方式来实现。
编译选项:
g++ -fPIC -g -D_REENTRANT -I"/opt/ACE_wrappers" -c -o "services.o" services.cpp
g++ -fPIC -g -D_REENTRANT -I"/opt/ACE_wrappers" -L"." -L"./" services.o -lACE -ldl -lrt -lpthread -o "servicetest"
使用:
chkconfig --add命令添加,设置启动级别为3和5。
但是由于程序依赖另外一个共享库,操作系统启动时,自定义的服务总是报加载动态库失败。手动使用service命令启动服务的时候也抱同样的错误。
# service sertest start
./servicetest: error while loading shared libraries: libACE-5.6.9.so: cannot open shared object file: No such file or directory
sertest文件的内容:
复制代码
使用:
/etc/init.d/sertest start
却可以正常启动。
不知道该如何解决
编译选项:
g++ -fPIC -g -D_REENTRANT -I"/opt/ACE_wrappers" -c -o "services.o" services.cpp
g++ -fPIC -g -D_REENTRANT -I"/opt/ACE_wrappers" -L"." -L"./" services.o -lACE -ldl -lrt -lpthread -o "servicetest"
使用:
chkconfig --add命令添加,设置启动级别为3和5。
但是由于程序依赖另外一个共享库,操作系统启动时,自定义的服务总是报加载动态库失败。手动使用service命令启动服务的时候也抱同样的错误。
# service sertest start
./servicetest: error while loading shared libraries: libACE-5.6.9.so: cannot open shared object file: No such file or directory
sertest文件的内容:
- 30 RETVAL=0
- 31
- 32 FTP_MON_SVR=/etc/init.d/ftpmoniter
- 33 FTP_MON_IMP=/tools/ftpmoniter/ftpmoniter.sh
- 34
- 35 start ()
- 36 {
- 37 cd /myprogs/servicetest/
- 38 ./servicetest &
- 39 }
- 40
- 41 stop ()
- 42 {
- 43 killall servicetest
- 44 }
- 45 case "$1" in
- 46 start)
- 47 start
- 48 ;;
- 49
- 50 stop)
- 51 stop
- 52 ;;
- 53
- 54 restart)
- 55 stop
- 56 start
- 57 ;;
- 58
- 59 *)
- 60 echo "usage: ftpmoniter start|stop|restart"
- 61
- 62 esac
- 63
- 64 exit $RETVAL
/etc/init.d/sertest start
却可以正常启动。
不知道该如何解决
作者: shentar 发布时间: 2010-07-18
编译的时候-L项指定绝对路径.
作者: samlumengjun 发布时间: 2010-07-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28