Есть ли способ намеренно предотвратить ответ процесса - т.е. не закрывать и не убивать его, а останавливать его мертвым на своем пути, чтобы он немедленно прекратил что-либо обрабатывать?
Я часто обнаруживал, что хочу принудительно перевести процесс в неактивное состояние, чтобы протестировать какой-то обработчик, когда это действительно происходит по какой-либо причине.
В настоящее время я работаю над centos 5.5 и специально хочу предотвратить named
от ответа - это иногда случается в «нормальных условиях» (т.е. причина неизвестна), и мне нужно реагировать на это ... но тестирование довольно сложно, когда мне нужно ждать (в течение нескольких недель), чтобы это произошло случайным образом.
Я полагаю, хорошим индикатором того, что процесс мертв, будет то, что strace -p 1234
молчит.
Общее решение является предпочтительным, но если у вас есть идеи, относящиеся только к этому конкретному случаю, все равно отправьте ответ.
Вы можете приостановить процесс, отправив ему сигнал SIGSTOP, и возобновить его, отправив SIGCONT.
kill -STOP <pid>
и
kill -CONT <pid>
соответственно.