분할 화면에서 프로그래밍 방식으로 백그라운드 작업을 실행하시겠습니까?

분할 화면에서 프로그래밍 방식으로 백그라운드 작업을 실행하시겠습니까?

runbg백그라운드에서 실행되는 하위 명령을 허용하고 각 하위 명령에 대해 분할 화면을 만드는 명령을 만드는 방법을 알아내려고 합니다 . 하위 명령이 성공적으로 완료되면 분할 화면이 닫힙니다. 하위 명령이 실패하면 사용자가 종료 신호를 사용하여 화면을 닫을 때까지 화면은 오류와 함께 열려 있습니다. 모든 화면이 닫히면 명령이 완료되고 실행이 계속됩니다. 예를 들어

runbg "ping -t 5 google.com" "ping -t 10 microsoft.com"
echo "done"

나는 내가 할 수 있는 것을 발견했다:

ping -t 5 google.com &
ping -t 10 microsoft.com &
wait

이는 사물의 병렬 측면을 구현하지만 각 명령은 모든 것을 동일한 터미널에 출력하므로 매우 시끄럽습니다. 따라서 분할 화면 설정이 필요합니다.

여기 검색해서 알아낸거GNU 화면이것은 화면 측면을 처리하는 것처럼 보이지만 .screenrc 파일이 필요한 것 같습니다. 프로그래밍 방식으로 수행할 수 있지만 어딘가에 임의의 tmp 파일을 작성해야 한다는 의미이므로 약간 짜증납니다.

내가 찾은이 답변화면을 사용하지 않는데 .sreenrc화면 분할을 어떻게 하는지 모르겠습니다.

간단히 말해서:

  • 내가 원하는 것을 이미 수행하고 있는 것이 있습니까 runbg?
  • 그렇지 않다면, 내가 원하는 것이 GNU 화면인가요? 파일을 사용해야 하나요 .screenrc? 아니면 파일 없이 화면 분할을 수행할 수 있는 방법이 있나요?

답변1

tmux를 사용하여 다음과 같이 분할 창과 전송 키를 함께 연결하여 이 작업을 수행할 수 있습니다.

tmux new session \; split-window -v \; send-keys 'ping -t 5 google.com' C-m \; split-window -h \; send-keys 'ping -t 10 microsoft.com' C-m \;

관련 정보