поймать сигнал в программе на C, запущенной через ProcessBuilder

Я хочу запустить программу c в Eclipse через JAVA ProcessBuilder, и теперь в каком-то месте я хочу послать сигнал завершения программе, программа должна перехватить этот сигнал и выполнить требуемую задачу, а затем завершиться.
Теперь я знаю, как обрабатывать сигналы, но как я могу отправлять сигналы из ProcessBuilder в мою программу.
Любая помощь будет оценена!

1

Решение

Смотрите этот вопрос: Как отправить сигнал SIGINT из Java во внешний процесс?

Can you send `kill -SIGINT <pid>` to the process (given that you know the process ID):

Runtime.getRuntime().exec("kill -SIGINT 12345");

Of course, that would make for a platform-dependent solution... Potentially, you'll be able to use this tool, although it is in "sandbox mode". But it might give you an idea:

http://commons.apache.org/sandbox/runtime/

See also this related question here:

https://stackoverflow.com/questions/2950338/how-can-i-kill-a-linux-process-in-java-with-sigkill-process-destroy-does-sigte
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]