을 사용하여 실행하는 프로그램이 있습니다 nohup program &
. 이 프로그램은 의 입력을 받아들입니다 STDIN
. STDIN
를 통해 실행 중인 프로그램 에 텍스트를 보낼 수 있는 방법이 있습니까 nohup
?
이것은 bash를 실행하는 FreeBSD에 있습니다. Linux에서도 이것이 어떻게 수행되는지 보고 싶습니다.
답변1
nohup
에서 리디렉션된 표준 입력을 사용하여 프로그램을 실행합니다 /dev/null
(명령 자체를 리디렉션하지 않았다고 가정 nohup
). 따라서 이 프로그램에 입력을 보낼 수 없습니다.
프로그램에 입력을 보내려면 프로그램을 시작할 때 입력을 리디렉션하세요.
nohup program <input-file.txt & # input from a file
nohup data-producer | nohup program & # input from another program
mkfifo program.pipe; nohup program <program.pipe & # input from a named pipe, feed it what you want later
(실제로 디버거나 다른 핵을 사용하여 프로그램의 표준 입력을 다른 소스에 다시 연결하는 것이 가능할 수 있습니다 ptrace
. 입력의 출처를 계속 추적하면 프로그램이 중단될 수 있습니다.SSH를 통해 실행 중인 프로세스를 일시 중지하고, 소유하지 않고, 새 화면 셸에 연결하고 일시 중지를 해제하려면 어떻게 해야 합니까?; 이 주제에 관해 SE 네트워크에 다른 질문이 있습니다.)