잘못된 작업을 수행하는 bash 스크립트가 있습니다. 그래서 Ctrl-C를 눌러 중지했습니다.
이제 터미널에 표시되는 출력은 실행 중인 프로세스에서 생성된 모든 출력입니다. Ctrl-C는 무언가를 출력하려는 프로세스가 이미 수행 중인 작업을 실행/완료한 경우에도 출력 인쇄를 방지합니다.
그래서 저는 이렇게 합니다:
for i in *; do rm -vf $i; done
removed 'file'
이제 화면의 모든 메시지가 삭제되었으며 다른 메시지는 삭제되지 않았는지 확인할 수 있습니까 ?
관련 정보일 수도 있습니다. 저는 SSH를 통해 스크린 세션에서 작업하고 있습니다.
답변1
본질적으로예.
쉘 프로세스가 Ctrl-C
인터럽트를 포착한 후 중지합니다.
for
그러나 루프의 백그라운드에서 cmd가 실행될 수 있다는 등 몇 가지 주의 사항이 있습니다 .
또한 일부 명령은 너무 빨리 실행되어 셸에서 빠른 응답을 얻지 못합니다(특히원격으로 연결하세요! )가지다또는언제실제로 Ctrl-C를 사용하여 "인터럽트"를 받았습니다.