지금까지 나는
trap " call function" 2
fucntion
{
./test.sh
exit
}
그러나 출구 라인에 도달하지 못하고 모든 프로세스가 쌓여있어 아이디어가 있습니까?
나는 & (bg) 시도했지만 그것을 계속 할 수 있어야합니다 .bg는 한 번만 할 수 있습니다. ctrl C를 입력하면 원래 test.sh를 종료해야하지만 자체 호출해야합니다. 종료하기 전에 새로운 프로세스를 작성하십시오.
이것은 내가 지금까지 가지고있는 것입니다
while [ 1 ]
do
count=0;
echo $count
count=`expr $count + 1`
done
trap "restart" 2 ( for the ctrl c)
restart()
{
./callitself.sh
exit ( it never reaches here therefore it doesnt kill the original process which is what i need otherwise it works fine)
}
무엇의 사본을 만드시겠습니까? 정확히 무엇을하려고하는지 명확하지 않습니다.
—
David Schwartz
./test.sh를 호출하기 전에 ./test.sh를 호출하기 전에 cp 유틸리티를 호출하고 파일의 사본을 만들어야합니다 (단, 목적이 있기 때문에). 종료 기준에 도달하지 못할 것입니다! 종료 기준, 아마도 if..fi 문이 있어야합니다
—
Vineet Menon
자기 복제 스크립트의 멋진 컬렉션을 ... nyx.net/~gthompso/self_sh.txt
—
Vineet 메논
그것의 원래 자체 (과정)의 복사본을 생성하고 종료 가정 @DavidSchwartz, 문제는 내가 자신을 죽이고 동시에 새로 시작에 도착하지 못할 것입니다 그 어느 쪽인가 새로운 일을 시작하거나 종료
—
ricedragon
쉘은 프로세스 사본을 작성하는 메커니즘을 제공하지 않습니다. 기존 프로세스를 복사하는 대신 새 프로세스를 만드는 것이 어떻습니까?
—
David Schwartz