У меня есть приложение, которое я могу запустить из строки commonand, и оно действует для меня как CLI.
Однако это часть набора приложений, и теперь я хочу, чтобы все они запускались при загрузке, и поэтому они запускаются как служба (systemd).
Так что все мои приложения, включая мой CLI, работают отлично. Однако я не вижу вывод CLI и не могу отправлять ему команды.
Я использовал stdout для печати экрана CLI - я думаю, что я могу обойти это путем вывода в файл - но было бы неплохо получить доступ к его stdout. Большая проблема в том, что я не могу написать на его стандартный ввод.
Я прочитал это: запись в stdin-of-background-process и попытался echo -e "command\n" > /proc/.../0
, но ничего не произошло - я проверил журнал моего CLI (записывается в файл) и он не получил ввод.
Затем я сделал ls -l
на /proc/<pid>/fd/
и заметил, что 0 --> /dev/null
означает, что stdin связан с / dev / null.
Итак, как я могу получить доступ к его стандартному вводу?
Дополнительный вопрос - есть ли способ работы (в той же оболочке bash), чтобы я перенаправлял свой стандартный ввод в стандартный поток этого процесса И перенаправлял стандартный вывод процесса в свою оболочку?