리눅스 쉘스크립트 질문입니다....

ansrhkd00의 이미지

while true
do
## 기록 명령어
sleep 2
done &

Centos 6버전대에서 쉘 스크립트를 위처럼 작성하고 실행해서

백그라운드 상태로 while문이 무한반복되는 상태입니다...

종료하고싶은데 ps -ax 명령어로 찾아도 없습니다

저 혼자 쓰는 서버가 아니라서 재부팅 할수도 없고요

찾아서 종료할 수 있는 방법이 없을까요?

세벌의 이미지

ps -eaf | grep 스크립트파일명

해 보면 안 나오나요?

익명 사용자의 이미지

질문이 분명치 않군요.

저 while문을 실행한 쉘 세션이 여전히 열려있다면 (예를 들어 터미널을 열어 실행하고서 터미널을 닫지 않않았다면) jobs 명령으로로 백그라운드에서 돌고 있는 while문의 job number를 확인하고 kill %job_number 로 죽일 수 있습니다.

그런 경우가 아니라면 htop을 사용해보세요. htop 실행 후 F5를 누르면 프로세스 트리를 볼 수 있을겁니다. "기록 명령어" 나 sleep 을 찾고 그 부모인 bash (또는 사용하시는 쉘) 프로세스를 찾으세요. 방향키로 커서를 그 프로세스에 위치시키면 F9 - Enter 로 죽일 수 있습니다.