Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Скрипт номер раз.
- #!/usr/bin/env python
- #-*- coding: utf-8 -*-
- import sys, os, time, atexit
- from signal import SIGTERM, SIGHUP
- import os, socket, time, signal, select
- class Daemon(object):
- def __init__(self, pidfile):
- self.pidfile = pidfile
- self.status = 'test'
- signal.signal(signal.SIGHUP, self.get_status)
- def get_status(self, signum, frame):
- f = open('/tmp/daemonstatus', 'wr+')
- f.write(str(self.status))
- f.close()
- def Run(self):
- while True:
- self.status = '1'
- print self.status
- time.sleep(1)
- self.status = '2'
- print self.status
- time.sleep(1)
- self.status = '3'
- print self.status
- time.sleep(1)
- pid = os.getpid()
- daemon = Daemon(pid)
- f = open('/tmp/dem_pid', 'wr+')
- f.write(str(pid))
- f.close()
- daemon.Run()
- Сохраняем в dem.py, запускаем. Будет выводит 1,2 или 3 с интервалом в 1 секунду. В другой консоли делаем kill -HUP `cat /tmp/dem_pid` && cat /tmp/daemonstatus && echo
- Выведет 1,2 или 3. Всё хорошо.
- Теперь в другой консоли делаем так: while true; do kill -HUP `cat /tmp/dem_pid` && cat /tmp/daemonstatus && echo; done
- В результате в консоли, где запущен скрипт будут мелькать циферки. В консоли, где запущен килл аналогично. Я озадачен.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement