Perl에서 스크립트가 다른 스크립트 (예 : system
또는 qx
을 통해 실행되고 있는지를 판단 할 수 있습니까? Perl에서 시스템 또는 qx 호출 내에서 스크립트가 실행되고 있는지 어떻게 알 수 있습니까?
$ cat foo.pl
print "foo";
print "\n" if not $in_qx; # or the like.
나는 스크립트가
exec
를 통해 실행중인 경우이 적용되지 않습니다 알고 있습니다.
나는 system
가 fork
으로 프로세스를 실행 것을 확실히 알고 나는 fork
당신이 부모 나 자식 프로세스에 여부에 따라 변수 값을 반환 할 수 있습니다 알고 있습니다. qx
에 대해 확실하지 않습니다.
fork
을 실제로 수행하지 않고 fork
처리 중에 있는지 확인하는 방법에 관계없이 확실하지 않습니다.
실행중인 플랫폼은 무엇입니까? –
"표준"리눅스, 특별히 특별한 것은 없습니다. – Danny
내가 생각한 것은 포크가 부모 나 자식인지에 따라 0 또는 $ PID를 제공한다는 것입니다. 나는 이것을 볼 수있는 쉬운 방법이 있기를 희망했다. 그러나 지금까지 가장 좋은 대답은 괴롭힘처럼 보입니다. Unforunate, Owens는 모든 프로세스가 분기되고 나무를 걷는 재미있는 점을 가지고 있지만, 괴롭힐 수 있습니다. – Danny