Найти - Пользователи
Полная версия: Вопрос по сигналам
Начало » Python для новичков » Вопрос по сигналам
1
Muslim
Задача следующая. Скрипт1 вызывает скрипт2 путем отправки ему сигнала USR1
import os
os.system('pkill USR1 script1.py')
Скрипт2 в это время ожидает этого вызова и как только будет вызвана выполняет что то, закончив работу опять должна ждать вызова
import signal
signal.signal(signal.SIGUSR1, func)
def func():
print "что то делает"
вижу что не понял на счет самой функции signal.signal() и ее параметров. буду благодарен за разъяснения.
Muslim
Нашел приличную литературку на счет сигналов в целом и модуля signal в том числе.
Код скрипта1 теперь таков:
import os, time
pid='11299'
i=0
while i<10:
i+=1
os.system('kill -10 '+pid+'')
print "vizov ", i
time.sleep(1)
Код скрипта2
#! /usr/bin/env python
# -*- coding: koi8-r -*-
import signal, sys
def func(sign, stackframe):
print "Rabotaet"
sign = 10
signal.signal(sign, func)
while 1: signal.pause()
pid можно успешно извлекать из БД или файла если скриптом2 предварительно засунуть его туда
Rodegast
> os.system('kill -10 ‘+pid+’')

Зачем вы используйте утилиту kill для передачи сигнала? Используйте os.kill() к примеру:
os.kill(pid, signal.SIGKILL)
Muslim
Rodegast
Зачем вы используйте утилиту kill для передачи сигнала?
в силу не полной осведомленности о возможностях модуля os :) благодарю
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB