Problem
UCS@school ID connector fails to start if old pid-file exists and you get an error message like in this bug
UCS@school ID connector fails to start if old pid-file exists
This init-script assumes that old pid-files are removed and fails to start once a remnant exists. This may be tha case on unclean shutdown.
/etc/init.d # ./ucsschool-id-connector start
* Starting UCS@school ID Connector ...
Traceback (most recent call last):
File "/ucsschool-id-connector/src/queue_management", line 170, in <module>
_start()
File "/ucsschool-id-connector/src/queue_management", line 151, in _start
service.start()
File "/usr/lib/python3.8/site-packages/service/__init__.py", line 461, in start
raise ValueError('Daemon is already running at PID %d.' % pid)
ValueError: Daemon is already running at PID 146. [ !! ]
* ERROR: ucsschool-id-connector failed to start
/etc/init.d # cat /tmp/IDConnectorService.pid
146
/etc/init.d #
/etc/init.d # pgrep IDConnectorService
/etc/init.d # rm /tmp/IDConnectorService.pid
/etc/init.d # ./ucsschool-id-connector start
* Starting UCS@school ID Connector ...
Started IDConnectorService daemon. [ ok ]
/etc/init.d # ./ucsschool-id-connector status
* status: started
Solution
Check if old pid-files are exist with
cat /tmp/
IDConnectorService.pid hsperfdata_root/ pytest-of-root/
cat /tmp/IDConnectorService.pid
148
ls -l /tmp/IDConnectorService.pid
-rw-r--r-- 1 root root 4 Mar 24 17:05 /tmp/IDConnectorService.pid
so there is an old pid-file exist, go further with
This resets the state (basically deleting the pid file):
/etc/init.d/ucsschool-id-connector zap
After that a start should work. So the “to be sure it’s running” commands are:
/etc/init.d/ucsschool-id-connector stop /etc/init.d/ucsschool-id-connector zap /etc/init.d/ucsschool-id-connector start