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

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

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 \;

관련 정보