아무것도 하지 않고 종료되지 않는 Linux 명령이 있습니까? [복사]

아무것도 하지 않고 종료되지 않는 Linux 명령이 있습니까? [복사]

실제로 아무것도 하지 않고 아무 것도 출력하지 않지만 ^C.

while true; do; done이는 CPU를 많이 사용하므로 좋은 솔루션이 아닙니다.

답변1

우리가 보면시스템 호출, 실제로 이 작업을 수행하는 제품이 있습니다.pause(2):

pause()신호가 전달될 때까지 호출 프로세스(또는 스레드)를 휴면 상태로 만듭니다.

물론, 이를 사용하는 프로그램만 있으면 됩니다. 다음 두 줄로 구성된 C 프로그램을 컴파일하는 것 외에 가장 쉬운 방법은 Perl을 사용하는 것입니다.

perl -MPOSIX -e pause

C에서:

#include <unistd.h>
int main(void) { return pause(); }

답변2

GNU sleep및 ( 는 아님 ) sleep의 내장 함수는 정수뿐만 아니라 모든 부동 소수점 숫자를 허용하므로 다음을 수행할 수 있습니다.ksh93mksh

sleep infinity

답변3

명령 을 추가하면 됩니다 sleep.

while true; do sleep 600; done

사이클 사이에 10분 동안 잠을 자게 됩니다.

답변4

당신은 할 수 있습니다:

tail -f /an/existing/regular/file >/dev/null

이것은 표준 입력을 사용하지 않고 read/an/existing/regular/file에 대한 새로운 추가를 기다립니다(일부 파일에서는 작동하지 않습니다. tail -f /dev/null즉시 종료됩니다. 그러나 모든 일반 파일에서는 작동합니다. 파일이 증가하지 않는 경우 이 명령은 CPU를 거의 소모하지 않습니다)

관련 정보