터미널과 별도로 백그라운드에서 실행 파일을 실행하지만 인수를 사용하여 실행합니다.

터미널과 별도로 백그라운드에서 실행 파일을 실행하지만 인수를 사용하여 실행합니다.

다음을 사용하여 실행 파일을 백그라운드에서 실행하고 터미널에서 분리할 수 있습니다.

$ nohup ./executable &

또는

$ ./executable &   
$ disown

그러나 실행 파일에 매개 변수를 보내면 아무런 효과가 없습니다.

$ nohup ./executable argument &

또는

$ ./executable argument &
$ disown

.sh 문자열 및 파이프 구문으로 사용해 보았지만 작동하지 않았습니다.

$ nohup ./executable <<<$'argument' &

또는

$ ./executable <<<$'argument' &
$ disown

또는

$ nohup echo -e "argument" | ./executable &

또는

$ echo -e "argument" | ./executable &
$ disown

편집: "./executable" 프로그램은 "./executable arg1 arg2" 등과 같은 모든 인수를 허용합니다. 문제는 "&"가 "./executable"에 인수로 흡수된다는 것입니다. 또한 도움이 된다면 Go로 작성했습니다.

답변1

더 많은 테스트를 거친 후 두 가지 모두 이 목적에 $ nohup ./executable &적합한 것으로 나타났습니다 . 프로그램이 실행되는 것을 보기 위해 $ ./executable & $ disown실행한 후 여러 번 아래로 스크롤합니다 .top

참고로, $ nohup ./executable &프로그램이 중단 없이 즉시 녹화를 시작했다면 더 좋을 것입니다. 프로그램 녹화가 진행되는 동안 프로그램이 조금 이상하게 보일 수 있기 때문 $ ./executable &입니다 $ disown.

관련 정보