Chinaunix
标题:
Linux下自定义服务启动失败的问题求助
[打印本页]
作者:
shentar
时间:
2010-07-18 21:59
标题:
Linux下自定义服务启动失败的问题求助
用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文件的内容:
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
却可以正常启动。
不知道该如何解决
作者:
samlumengjun
时间:
2010-07-19 10:51
编译的时候-L项指定绝对路径.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2