아무 작업도 수행하지 않지만 종료되지 않는 Linux 명령이 있습니까?

아무 작업도 수행하지 않지만 종료되지 않는 Linux 명령이 있습니까?

말 그대로 아무것도 하지 않고 아무 것도 출력하지 않지만 ^C.

while true; do; doneCPU를 많이 사용하기 때문에 좋은 솔루션이 아닙니다.

답변1

우리가 보면시스템 호출, 실제로 정확히 그런 일을 하는 것이 있습니다.pause(2):

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

물론, 이를 사용하는 프로그램이 필요합니다. 아래의 두 줄짜리 C 프로그램을 컴파일하는 것 외에 가장 쉬운 방법은 아마도 Perl을 사용하는 것입니다.

perl -MPOSIX -e pause

C에서:

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

답변2

GNU sleepsleep내장 기능 ksh93( 은 아님 mksh)은 정수뿐만 아니라 모든 부동 소수점 숫자를 허용하므로 다음과 같이 할 수 있습니다.

sleep infinity

답변3

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

while true; do sleep 600; done

루프 사이에 10분 동안 대기합니다.

답변4

당신은 할 수 있습니다:

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

이것은 stdin을 사용하지 않고 read/an/existing/regular/file에 새로운 추가를 기다리게 됩니다(일부 파일에서는 작동하지 않습니다. tail -f /dev/null즉시 종료됩니다. 그러나 모든 일반 파일에서는 작동합니다. 해당 파일이 다음과 같은 경우 성장하지 않으면 명령이 CPU를 거의 소모하지 않습니다)

관련 정보