UNIX에는 nohup을 사용하여 실행하려는 프로세스가 있습니다. 그러나이 과정은 어느 시점에서 내가 입력해야 yes
하거나 no
계속 진행 하라는 프롬프트를 기다립니다 . 지금까지 UNIX에서는 다음을 수행했습니다.
nohup myprocess <<EOF
y
EOF
따라서 nohup을 사용하여 'myprocess'프로세스를 시작하고 'y'로 파일에 파이프를 지정한 다음 파일을 닫습니다. 위의 줄은 실제로 세 가지 별도의 명령입니다. 즉, UNIX의 첫 번째 줄에서 Enter 키를 누른 다음 'y'를 입력하라는 메시지가 표시되면 Enter 키를 누른 다음 'EOF'를 입력하고 다시 return 키를 누르십시오. 그래서 이것은 완벽하게 작동하지만 내 문제는 다음과 같습니다.
이제 이것을 Perl에서 실행하고 싶지만이 명령이 세 줄 이상이므로 어떻게 실행할 수 있는지 잘 모르겠습니다. 다음이 작동하는지 모르겠습니다.
my $startprocess = `nohup myprocess <<EOF &
y
EOF
`
이 (첫 번째 편집이 조금 무의미한 만든 후)는 질문에 기록되는 방식으로 작동합니다
@hop 나는 당신이 무엇을 말하는지 정말로 모른다. 첫 번째 편집은 개행을 추가하고 코드 부분으로 코드를 포맷하여 올바르게 표시되도록했다. 나는 거의 아무것도 바꾸지 않았다. 원래 수정본은 여기있다
—
Michael Mrozek
@hop 펄 하나? 나는 펄을 알지 못해서 시도하지 않고 작동하지 않는다고 가정했지만, 그가 "다음이 잘 될지 모르겠다"고 말했다. 당신은 아마 주어진 예제가 효과가 있다고 대답해야합니다
—
Michael Mrozek