------- Comment From vcd...@us.ibm.com 2014-10-09 17:08 EDT------- (In reply to comment #7) > do you need to have scripts being fixed for you? Yes, need to fix/enhance Upstart for me and other customers who accidentally type in and run a job at command line, or start the job from crontab, because once that was done (i.e. the job was started from outside of the Upstart), Upstart will be unable to stop/restart the job.
> are daemons missing permissions to execute properly and retrieve infos ? No, the Upstart daemon has all the permission to do the expected things (stop/restart a job). It simply just can not function as what I expect. Perhaps some people just think not Upstart's business to handle (stop/restart) the process which it did not ever run? I believe the problem was clearly described at the defect opening. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to upstart in Ubuntu. https://bugs.launchpad.net/bugs/1337407 Title: Upstart can NOT handle service/job started by others Status in “upstart” package in Ubuntu: New Bug description: -- Problem Description -- Upstart can not see a service/job/process that has been started and running by someone else. Old style init.d/systemd fully/partially handle start/stop correctly (on other Linux systems without Upstart), no matter who started the process. Our PMLinux collecting agent "daemon_PMLnx" was designed to start/run by root with any means, such as crontab, inittab, service, or even command line at a terminal. The program itself will quit immediately at the beginning if finds the process already running. Generally, we prefer to organize PMLinux as a service, plus create a start hook in the crontab to run "daemon_PMLnx" at 3am every day, in order to guarantee a restart won't be forgot if someone ever stopped the job. Here are some command outputs from Ubuntu/Upstart: # uname -a Linux ubuntu 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:09:21 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux # dpkg -l upstart Name Version Architecture Description -===========-================-=============-======================== ii upstart 1.12.1-0ubuntu4 ppc64el event-based init daemon # ps -ef | grep -e PMLnx$ -e CRON$ root 10263 771 0 17:59 ? 00:00:00 CRON root 10264 10263 0 17:59 ? 00:00:00 /bin/sh -c /var/perf/pm/bin/daemon_PMLnx (bug!) root 10265 10264 0 17:59 ? 00:00:00 /var/perf/pm/bin/daemon_PMLnx # start PMLinux PMLinux stop/waiting <--- bad! # status PMLinux PMLinux stop/waiting <--- bad! # stop PMLinux stop: Unknown instance: <--- bad! # kill -2 10265 # start PMLinux PMLinux start/running, process 10562 # ps -ef | grep -e PMLnx$ root 10562 1 0 19:49 ? 00:00:00 /var/perf/pm/bin/daemon_PMLnx # start PMLinux start: Job is already running: PMLinux # stop PMLinux PMLinux stop/waiting # stop PMLinux stop: Unknown instance: # cat /etc/init/PMLinux.conf # daemon_PMLnx - Collecting Agent of IBM Performance Management for Power Linux (PMLinux) # # daemon_PMLnx collects PMLinux data at periodic scheduled times # working HOME directory - /var/perf/pm description "IBM PMLinux collecting daemon" author "IBM PMLinux Team, Rochester, USA" start on runlevel [2345] stop on runlevel [!2345] # console output # not works as expected: output to the working terminal (instead of system console) pre-start script unset myErrMSG if [ ! -x /var/perf/pm/bin/daemon_PMLnx ]; then export myErrMSG='Daemon programs disappeared; please re-install ibmPMLinux' # elif ps -C daemon_PMLnx >/dev/null; then # export myErrMSG='PMLinux collecting daemon is already running!' elif [ ! -L /var/adm/perfmgr ] || [ ! -d /var/adm/perfmgr ]; then export myErrMSG='PMLinux was NOT enabled; Please run "config.PMLnx" to activate' fi if [ -n "$myErrMSG" ]; then echo -n "`date +'%D %T'` "; stop; echo "`date +'%D %T'` $myErrMSG"; exit 0 fi end script post-start script if ps -C daemon_PMLnx >/dev/null; then echo "`date +'%D %T'` PMLinux collecting daemon running..." else echo "`date +'%D %T'` FAILED: Could NOT start PMLinux collecting daemon!!!" fi end script post-stop script echo "`date +'%D %T'` PMLinux collecting daemon stopped." end script exec /var/perf/pm/bin/daemon_PMLnx The attachment is a screenshot to demonstrate an old init under a different distro 1 that can find/stop PMLinux daemon started from user terminal. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/1337407/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp