[Voyage-linux] log the stdout of a process started by start-stop-daemon
Toni Castelli
(spam-protected)
Thu Mar 29 23:11:33 HKT 2012
Hello Francisco,
Thanks for your answer, I’ve tried to include $mountkernfs in the required modules of the script, but it didn’t work.
I’m not sure why the “touch” command doesn’t work because i set remountrw just before the command but the file is not created.
I’ve also tried using another directory that is not tmpfs but the result is the same, it works when I start it manually but not after rebooting
(I’ve set #!bin/bash at the beggining of the script)
From: Francisco José Sánchez
Sent: Tuesday, March 27, 2012 10:08 PM
To: Toni Castelli
Cc: voyage-linux at voyage.hk
Subject: Re: [Voyage-linux] log the stdout of a process started by start-stop-daemon
Ok Toni,
I think that the problem is the moment executed script. Question ¿is mounted /var/log?
For depuration include into script a mount command before touch file log.
PD: normaly, /var/log is mount tmpfs (/etc/init.d/mountkernfs). Is the execution your script before or after mountkernfs?
Best regards.
2012/3/27 Toni Castelli <acastelli at keonn.com>
Yes, sorry thats a typo, I actually use what you wrote logFile=/var/log/test.log
When I start the script manually “/etc/init.d/script start” it runs my program ok and generates the proper log file, the problem is that after rebooting, my program starts automatically but the no log file is created.
From: Francisco José Sánchez
Sent: Tuesday, March 27, 2012 6:13 PM
To: Toni Castelli
Cc: voyage-linux at voyage.hk
Subject: Re: [Voyage-linux] log the stdout of a process started by start-stop-daemon
Hello Toni,
2012/3/27 Toni Castelli <acastelli at keonn.com>
Hello, I’m having some trouble trying to log the stdout and the stderror generated by an application when it is started by an init.d script.
What im trying to run is something like this:
$logFile=/var/log/test.log
is wrong variable assignation (really is a error in your script o is a error the transcription email?)
logFile=/var/log/test.log
if [ ! "$logFile" == "" ]; then
touch $logFile || exit 2
start-stop-daemon --start --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS >> $logFile 2>&1 &
else ....
when you verify exists a file, use param -f . Example
if [ -f $logFile ]; then
<code true>
else
<code false>
fi
or this other example
if [ ! -f $logFile ]; then
<code false condition>
else
<code true condition>
fi
but I don't know what yo want to do.
when I try to run the script from bash it works perfectly, but when it runs after a reboot, the log file isn’t generated. I’m suspecting it could be a matter of mounting the file system after starting my script, but I’ve checked the execution number and its the last one it shares the number with some other processes). Anyone can guess what’s wrong with the code?
best regards.
PD: Excuse me English language, but spanish user ;-)
_______________________________________________
Voyage-linux mailing list
Voyage-linux at list.voyage.hk
http://list.voyage.hk/mailman/listinfo/voyage-linux
_______________________________________________
Voyage-linux mailing list
Voyage-linux at list.voyage.hk
http://list.voyage.hk/mailman/listinfo/voyage-linux
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.voyage.hk/pipermail/voyage-linux/attachments/20120329/59e04c95/attachment-0001.html>
More information about the Voyage-linux
mailing list