@pixik

Как передать на стандартный ввод (std::in) процесса символ в linux?

Доброго времени!
Программа выключается по ключу, который считывает из стандартного ввода. Я хочу запустить программу в фоне ( program & ). Есть ли способы на стандартный ввод процесса отправить символ?
Спасибо за ликбез:)
  • Вопрос задан
  • 308 просмотров
Решения вопроса 3
BuriK666
@BuriK666
Компьютерный псих
echo 'msg' > /proc/<PID>/fd/0
Ответ написан
Комментировать
Olej
@Olej
инженер, программист, преподаватель
Программа выключается по ключу, который считывает из стандартного ввода. Я хочу запустить программу в фоне ( program & ). Есть ли способы на стандартный ввод процесса отправить символ?

Способ, может, и можно найти (всему можно найти способ), но это будет архитектурно неправильное приложение. Запуск в фоне (&) означает, что у приложения отнимается управляющий терминал, разрывается связь с терминалом (с входным потоком в том числе).

Для демонов (серверов, сервисов), которые в том же положении, всякие управляющие действия передаются сигналами UNIX, например SIGHUP - перечитать конфигурационные файлы, и т.д.
Вон у вас сколько разных сигналов для самых разнообразных действий:
olej@nvidia ~ $ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX
Ответ написан
Комментировать
romy4
@romy4
Exception handler
сделайте обработку сигнала SIG_QUIT
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы