스크린 데몬 모드에서 명령 실행

스크린 데몬 모드에서 명령 실행

다음 명령을 사용하여 화면 모드에서 명령을 실행하려고 합니다.

screen -dmS screen_name sed -i 's/a/b/'g some-file.txt

아무 반응이 없습니다. 동일한 명령을 스크립트에 넣고 명령을 실행하면 다음과 같습니다.

screen -dmS screen_name bash -c /path/to/script

효과가있다. 제 질문은 먼저 스크립트에 넣지 않고도 데몬 모드에서 명령을 실행할 수 있느냐는 것입니다. 기본적으로 이 데몬 기능이 필요한 이유는 프로그램이 완료된 후 자동으로 종료되는 별도의 화면 데몬에 각 명령을 던져 대용량 파일에 대해 여러 sed 명령을 병렬로 실행하여 여러 명령을 병렬로 실행하는 데 도움이 되기 때문입니다. 감사해요

답변1

-S 옵션을 생략하려고 하면 -S에 문제가 있는 것 같습니다. bash -c 없이도 작동해야 하므로 이것을 시도해 보십시오.

screen -dm sed -i 's/a/b/'g some-file.txt

그러면 효과가 있을 것입니다. BTW 화면이 업데이트되지 않았습니다. tmux로 전환하는 것을 고려해야 합니다. 훨씬 더 많은 기능을 제공할 수 있습니다.

다음을 입력하여 tmux를 설치할 수 있습니다.

sudo apt-get install tmux

따라서 코드는 다음과 같아야 합니다.

tmux new-session -d -s foo 'sed -i 's/a/b/'g some-file.txt'

나는 그것을 테스트 할 수 있었다

tmux new-session -d -s hello 'top'

당신이 입력하면

tmux attach -t hello

top과의 세션으로 이동합니다. 이것이 도움이 되기를 바랍니다. 확인하다

man tmux

모든 기능에 대해 확인하고여기포괄적인 치트 시트를 위해

답변2

이것이 당신에게 효과가 있습니까?

screen -dmS screen_name bash -c "sed -i 's/a/b/'g some-file.txt"

관련 정보