Bash를 사용하면 프로세스를 일시 중지할 수 있습니다 control-z
. 하지만 프로세스가 일시 중지되었을 때 제대로 작동하지 않을 때 주의해야 할 일반적인 상황이나 지침이 있습니까?
내 특정 시나리오는 예상보다 오래 걸리는 tar 파일을 만드는 것이었습니다. 일시정지하여 배경에 넣고 싶었지만 그러지 않기로 결정했습니다. 물론 내 질문은 타르에만 국한된 것이 아닙니다. 대신, bash의 일시 중지 기능과 프로세스가 일시 중지에 제대로 반응하지 않게 만드는 요인에 대해 더 잘 이해하고 싶습니다.
답변1
프로세스에서 데이터를 쓰는 경우 비임의 액세스 장치 및 버퍼의 타이밍 문제가 문제가 될 수 있다는 점에 유의하세요. 테이프 드라이브에 가끔 이런 문제가 있는 것을 발견했습니다.
답변2
원자적 복사본을 사용하는 스토리지 작업(pvmove, veritas vx-whatever) 통제할 수 없는 상황에 빠지면 좋지 않습니다. 작업이 일부 API만 트리거하고 나머지는 커널 공간에서 수행하는지 여부에 따라 안전합니다. 만약에 그런 일이 일어난다면저것셸에서 *처리*한 다음 실제로 화면을 사용하고 손을 멀리 두세요.
백그라운드로 차단하지 않는 것이 좋습니다. 위에서 언급한 테이프 드라이브를 제외하면 dd와 같은 버퍼를 사용하는 명령이 더 나은 것 같습니다.
(다른 사람의 엉망진창을 정리하는 동안 이런 일이 나에게 일어났을 때 나는 추가 재부팅, 수면 부족, 많은 편집증을 이겼습니다. 분명히: 다른 사람의 엉망진창을 고치는 경우 지름길을 택하지 마십시오... .. .)
답변3
일반적인 시나리오는 Ctrl-Z를 누른 다음 잊어버리고 로그아웃하면 프로세스가 손실되는 것입니다! =)
답변4
이것은 질문에 대한 구체적인 답변은 아니지만 screen
.