php의 exec 명령으로 여러 쉘 명령을 실행하고 싶습니다. 명령을 순차적으로 만들어야하고 nohup 명령으로 시작하여 백그라운드에서 실행할 수 있도록하고 php 스크립트가 끝날 때까지 기다릴 필요가 없습니다. 내가 전에 손질 된 사진을 편집 할 때문에 당신이 볼 수 있듯이php nohup을 사용하여 여러 쉘 명령을 실행하십시오.
$command1="nohup convert -trim +repage pic1.png pic2.png; convert pic2.png -thumbnail 500x10000 pic3.png; convert pic2.png -resize 115x1000 -gravity Center -crop 115x196+0+0 +repage pic4.png; rm pic1.png; rm pic2.png > /dev/null 2> /dev/null & echo $";
$output = exec($command1 . ' 2>&1', $output, $return);
, 그것은 순차적으로 할 필요가 : 여기 내 스크립트입니다. 명령 자체와 순차 부분은 잘 작동하지만 nohup은 전체 $ command1에서 작동하지 않습니다. 실제로 아무 것도하지 않거나 마지막 명령 (rm pic2.png)에서만 작동하는지 확실하지 않습니다.
도움을 주시면 대단히 감사하겠습니다. 감사합니다.
의
&&
를 사용은'nohup'는 세미콜론 잘 작동합니다 : http://people.ucalgary.ca/~wellings/tipspit/nohup.html을 참조하십시오. 5 개의 후속 파일 작성과 같이 다른 명령으로 테스트 케이스를 작성할 수 있습니까? 또한 명령 중 하나가 오류를 반환하면 다른 명령도 실행되지 않을 것이라고 생각합니다 (Linux 전문가가 확인해야 할 것입니다.) –나는 그것이 작동해야한다고 생각했습니다. 세미콜론이없는 하나의 명령으로), 실제로는 그렇지 않습니다 ... 그래서 내 php-script는 명령을 마치기 전에 끝내기를 기다립니다. Btw, 다음에 대해 제대로 생각합니다. 명령이 오류 발생시 실행되지 않습니다. – Michael27