Посмотрев на синтаксис сигнала, я вижу, что он не дает гибкости передачи сигнала другому pid (pid_t). процесс может только игнорировать, выполнять по умолчанию или настраивать действие сам по себе. каковы возможные способы передачи сигналов другому процессу? (Я не говорю о pthreads).Как передать сигнал другому процессу?
ответ
Вы хотите (не команда kill
оболочки) kill(2) system call:
#include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig);
kill()
системного вызова может быть использован для отправки любого сигнала любого процесса группы или процесс.Если pid положительный, тогда сигнал sig отправляется процессу с идентификатором , указанным pid.
Если pid равно 0, тогда sig отправляется каждому процессу процесса группе вызывающего процесса.
Если pid равно -1, то sig отправляется каждому процессу, для которого процесс вызова имеет разрешение на отправку сигналов, за исключением процесса 1 (init), но см. Ниже.
Если pid меньше -1, тогда sig отправляется каждому процессу в группе процессов , чей идентификатор является -p.
Если sig равно 0, тогда никакой сигнал не отправляется, но проверка ошибок по-прежнему выполняется ; это можно использовать для проверки наличия идентификатора процесса или идентификатора группы процессов.
Запуск man kill
даст вам kill (1), который является командованием оболочки. Чтобы получить справочную страницу для системного вызова, вы запускаете man 2 kill
.
- 1. как заставить bash передать сигнал другому процессу?
- 2. Отправить сигнал другому процессу
- 3. Как передать орграф другому процессу и узлу?
- 4. Передайте интерфейс другому процессу
- 5. Не удается отправить сигнал другому процессу в perl
- 6. Как передать функцию JavaScript другому процессу через JSON?
- 7. Отправить сообщение другому процессу
- 8. как передать аргумент процессу
- 9. `mlockall` другому процессу
- 10. Ожидать отправить другому процессу
- 11. Отправка signalfd другому процессу
- 12. Отправить сигнал процессу внутри valgrind?
- 13. Как отправить пользовательский сигнал процессу демона bash?
- 14. Как отправить сигнал дочернему процессу в Java?
- 15. Можно вызвать API HtmlHelp и передать право собственности другому процессу?
- 16. Есть ли способ передать дочерний процесс linux другому процессу?
- 17. поток, параллельный другому процессу java
- 18. Подключиться к другому терминальному процессу?
- 19. как получить идентификатор процесса, который послал сигнал SIGABRT к другому процессу, который возбужденный демпинг ядра
- 20. Передача объекта Python другому процессу Python
- 21. Сигнал для отправки строки дочернему процессу
- 22. Как передать сигнал() в sigaction()?
- 23. clojure REPL - подключиться к другому процессу
- 24. Перенаправить stdin в программу C другому процессу
- 25. Можно ли подключить JVM к другому процессу?
- 26. Отправьте событие яблока другому процессу с 'main'
- 27. Дизайн услуги или доступ к другому процессу
- 28. Пытаться передать переменные дочернему процессу
- 29. Как подать сигнал от одного процесса другому?
- 30. Как передать управление сокету дочернему процессу?
«Человек убивает» отвечает на ваш вопрос? – SergeyA
также добавить, что я исключаю возможность использования команды оболочки для передачи сигнала или использования exec для процесса уничтожения или отправки сигнала – theartist33
@SergeyA Я просто упоминаю, что в моем предыдущем комментарии, не ища команду kill – theartist33