#940: Adapt code to run the Linux daemon.

remotes/github/python3
Ramón M. Gómez 2020-06-30 14:55:35 +02:00
parent 683d8d4427
commit 9424789f69
3 changed files with 13 additions and 18 deletions

View File

@ -26,7 +26,6 @@
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
''' """
@author: Adolfo Gómez, dkmaster at dkmon dot com @author: Adolfo Gómez, dkmaster at dkmon dot com
''' """
from __future__ import unicode_literals

View File

@ -25,18 +25,16 @@
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
''' """
@author: : http://www.jejik.com/authors/sander_marechal/ @author: : http://www.jejik.com/authors/sander_marechal/
@see: : http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/ @see: : http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
''' """
from __future__ import unicode_literals
import sys
import os
import time
import atexit import atexit
import os
import sys
import time
from opengnsys.log import logger from opengnsys.log import logger
from signal import SIGTERM from signal import SIGTERM
@ -89,7 +87,7 @@ class Daemon:
sys.stderr.flush() sys.stderr.flush()
si = open(self.stdin, 'r') si = open(self.stdin, 'r')
so = open(self.stdout, 'a+') so = open(self.stdout, 'a+')
se = open(self.stderr, 'a+', 0) se = open(self.stderr, 'a+')
os.dup2(si.fileno(), sys.stdin.fileno()) os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno()) os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(se.fileno(), sys.stderr.fileno()) os.dup2(se.fileno(), sys.stderr.fileno())

View File

@ -26,18 +26,16 @@
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
''' """
@author: Adolfo Gómez, dkmaster at dkmon dot com @author: Adolfo Gómez, dkmaster at dkmon dot com
''' """
from __future__ import unicode_literals
import logging import logging
import os import os
import tempfile import tempfile
import six
# Valid logging levels, from UDS Broker (uds.core.utils.log) # Logging levels
OTHER, DEBUG, INFO, WARN, ERROR, FATAL = (10000 * (x + 1) for x in six.moves.xrange(6)) # @UndefinedVariable OTHER, DEBUG, INFO, WARN, ERROR, FATAL = (10000 * (x + 1) for x in range(6))
class LocalLogger(object): class LocalLogger(object):
@ -46,7 +44,7 @@ class LocalLogger(object):
# service wil get c:\windows\temp, while user will get c:\users\XXX\temp # service wil get c:\windows\temp, while user will get c:\users\XXX\temp
# Try to open logger at /var/log path # Try to open logger at /var/log path
# If it fails (access denied normally), will try to open one at user's home folder, and if # If it fails (access denied normally), will try to open one at user's home folder, and if
# agaim it fails, open it at the tmpPath # again it fails, open it at the tmpPath
for logDir in ('/var/log', os.path.expanduser('~'), tempfile.gettempdir()): for logDir in ('/var/log', os.path.expanduser('~'), tempfile.gettempdir()):
try: try: