Le 2/06/2014 16:42, Michael Van Canneyt a écrit :
On Mon, 2 Jun 2014, A. Fortuny wrote:
Hi Folks.
OpenSuse 12.2
Based on the /etc/init.d/skeleton I've made a new service script
named "service.test" replacing all what is needed (binary name, conf
file, etc.)
When i launch it (using: # service service.test start) it fails to
launch. The /var/log/messages displays:
Jun 2 11:50:02 aforsrv service.test[26037]: Starting Service test
Usage: /home/data2/sources/compiled/service.bin [command]
Jun 2 11:50:02 aforsrv service.test[26037]: Where command is one of
the following:
Jun 2 11:50:02 aforsrv service.test[26037]: -i --install To
install the program as a service
Jun 2 11:50:02 aforsrv service.test[26037]: -u --uninstall To
uninstall the service
Jun 2 11:50:02 aforsrv service.test[26037]: -r --run To run
the service
Jun 2 11:50:02 aforsrv service.test[26037]: An unhandled exception
occurred at $000000000046E48A :
Jun 2 11:50:02 aforsrv service.test[26037]: EInOutError :
Jun 2 11:50:02 aforsrv service.test[26037]: $000000000046E48A
Jun 2 11:50:02 aforsrv service.test[26037]: $0000000000497C43 line
233 of ../lib/simplelogger.pas
Jun 2 11:50:02 aforsrv service.test[26037]: $0000000000473316 line
48 of DaemonMapper.pas
Jun 2 11:50:02 aforsrv service.test[26037]: $0000000000471C27
Jun 2 11:50:02 aforsrv startproc: startproc: exit status of parent
of /home/data2/sources/compiled/service.bin: 217
Jun 2 11:50:02 aforsrv service.test[26037]: ..failed
Jun 2 11:50:02 aforsrv systemd[1]: service.test.service: control
process exited, code=exited status=7
Jun 2 11:50:02 aforsrv systemd[1]: Unit service.test.service entered
failed state.
The program itself is written in FPC using Lazarus and when launched
on its own it runs perfectly well:
# ./service.bin -r ( the -r parameter tells the program to run as a
service).
Log file is present and readable, SIGHUP and SIGTERM are trapped and
recorded. Everythning runs as expected, the service script excepted.
Any ideas ?
Does your script add the -r option when running the service ?
Yes. It was what I first suspected when I saw the error. The script
snippet for start is:
case "$1" in
start)
echo -n "Starting Service test "
## Start daemon with startproc(8). If this fails
## the return value is set appropriately by startproc.
*/sbin/startproc $FOO_BIN -r *
# Remember status and be verbose
rc_status -v
;;
Yes, don't smile, I kept the original variables :-D . The $FOO_BIN
variable contains the good program name.
BTW, as you probably noticed it, " line 48 of DaemonMapper.pas" in the
lines above calls a logger function in the program DaemonMapper*Destroy*
procedure !
Antonio
Michael.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce
que la protection avast! Antivirus est active.
http://www.avast.com
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus