![일정 시간이 지난 후 스크립트에서 명령 실행을 종료하는 방법은 무엇입니까? [복사]](https://linux55.com/image/184868/%EC%9D%BC%EC%A0%95%20%EC%8B%9C%EA%B0%84%EC%9D%B4%20%EC%A7%80%EB%82%9C%20%ED%9B%84%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EB%AA%85%EB%A0%B9%20%EC%8B%A4%ED%96%89%EC%9D%84%20%EC%A2%85%EB%A3%8C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
T 기간 동안 끝이 없는 명령(예: mp3 파일 반복)을 실행하고 싶습니다.
쉘 스크립트 my.sh에 명령을 넣었습니다.
#! /bin/bash
vlc /path/to/my.mp3 # will play the file in loop till I terminate it.
그런 다음 실행해 보려고 합니다.
my.sh &
pid="$!" # need to get the pid of the vlc process.
sleep 2.5h
kill $pid
스크립트에서 명령을 실행하는 프로세스가 아닌 쉘 스크립트를 실행하는 프로세스만 종료하는 것처럼 보입니다. 스크립트에서 명령을 실행하는 프로세스를 종료하는 방법은 무엇입니까?
감사해요.
답변1
답변2
좋다timeout
원본 게시물에 가까운 대체 솔루션:
내.sh:
#!/bin/bash
vlc /path/to/my.mp3 & # ADDED & <- will play the file in loop till I terminate it.
pid=$!
sleep 10
kill $pid
chmod:
chmod +x my.sh
달리다:
./my.sh &