LINUX.ORG.RU

скорость SIGSTOP

 


0

2

Привет. Если остановить чужую программу через kill(pid, SIGSTOP), то программа остановится мгновенно, или спустя некоторое время (хоть даже это и миллисекунды)? Если с задержкой, можно ли это как-то регулировать, чтобы программа останавливалась мгновенно? Модификация ядра возможна.

В реальном мире ничего мгновенного не бывает.

Deleted
()

Ты, наверное, имел в виду синхронность. Нет, асинхронно: между возвратом из kill() и остановкой процесса может пройти любое количество времени.

intelfx ★★★★★
()
Ответ на: комментарий от former_anonymous

В общем случае никак, сигналы устроены асинхронно.

Если целевой процесс — потомок киляющего процесса, то можно сразу после kill'а сделать waitpid(pid, NULL, WUNTRACED).

intelfx ★★★★★
()
Ответ на: комментарий от former_anonymous

Возможно, какой-нить man 2 ptrace тебе поможет.

true_admin ★★★★★
()
Ответ на: комментарий от itn

Тебе нужен RTOS.

Это как-то поможет? Насколько я понимаю, сигнал в чужой процесс приходит отложенно, а не синхронно. RTOS только уменьшит задержку, следовательно проблему не решит.

former_anonymous ★★★
() автор топика
Ответ на: комментарий от former_anonymous

Ну если ты уже всё решил... то удачи.

itn ★★★
()
Ответ на: комментарий от former_anonymous

а может стоит хотя бы для начала провести тесты по времени? И спросить себя, какое максимальное количество времени должна останавливаться программа? Вообще, а что толку контролировать время остановки извне? Может проще писать код, не чувствительный к времени остановки?

aido ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.