스크립트를 실행하려면 두 개의 nohup 명령이 필요합니다.

스크립트를 실행하려면 두 개의 nohup 명령이 필요합니다.

nohup시간이 오래 걸리지만 실행하려면 비밀번호가 필요하기 때문에 스크립트를 실행하고 싶습니다 . 를 어떻게 사용할 수 있습니까 nohup? 예를 들어 스크립트를 대화형으로 실행하려면 먼저 스크립트를 실행 php hat하고 키나 비밀번호를 묻는 메시지가 나타나면 123456.

나는 nohup php hat & password성공하지 못했습니다(예: 123).

답변1

run 명령을 사용하면 nohup리디렉션 stdin됩니다 /dev/null. 따라서 nohup비밀번호를 수동으로 사용하거나 입력할 수 없습니다 .

사용하는 프로그램에 따라 리디렉션을 사용하여 비밀번호를 입력할 수 있습니다.

$ nohup bash -c 'read; echo $REPLY' <<<'hello'
$ tail -1 nohup.out 
hello

따라서 비밀번호를 파일(예: password.txt)에 저장하고 gpg비밀번호로 보호된 개인 키 password.txt.gpg와 같은 것을 사용하여 암호화한 후(를 얻기 위해) 다음을 수행할 수 있습니다.

gpg -d password.txt.gpg | nohup php hat

또는 비슷한 것을 사용할 수도 있습니다 screen.

먼저 screen세션을 시작합니다(이 명령은 실제로 이름이 지정된 세션을 시작 my-php-script-session하거나 이미 포그라운드에서 실행 중인 세션을 포그라운드로 가져옵니다).

screen -D -RR -S my-php-script-session

그런 다음 열린 셸에서 정상적으로 명령을 실행합니다.

php hat

비밀번호를 입력한 다음 세션을 분리하세요 screen: Ctrla, d.

첫 번째 명령을 다시 실행하여 다시 연결할 수 있습니다 screen.

관련 정보