PHP & Others

리눅스(Linux) php 쉘(Shell) 스크립트 실행하기, 백그라운드로 php 사용하기(nohup)

컨텐츠 정보

본문

출처 : http://okkks.tistory.com/900

 

php 파일을 리눅스에서 쉘 방식으로 직접 실행을 해보자.

 

실행할 php파일이 있는 디렉토리로 이동한다.

]# cd 실행할 php파일 디렉토리

 

방법1>

]# ./파일명.php

 

방법2>

]# php 파일명.php

 

* 방법1,2처럼해도 실행이 안된다면 whereis 명령어로 먼저 php파일 위치를 알아낸다.

]# whereis php

php: /usr/bin/php /etc/php.d /etc/php.ini /usr/lib/php /usr/share/man/man1/php.1.gz

위 내용은 php설치설정에 따라 다를 수 있다.

 

방법3>

]# /usr/bin/php 파일명.php

 

 

참고1> 권한이 없다고 하면(Permission denied) 실행할 php파일에 대한 권한을 확인해 본다.

]# chmod 744 파일명.php

또는 755, 777등 권한에 맞게 실행 권한을 부여한다.

 

참고2> 메일링처럼 많은 데이터를 처리하는 php 파일을 좀 더 빨리 처리하고 싶다면 

php 헤더(header) 값을 출력하지 않으면 실행속도가 좋아진다. (옵션 -q)

]# ./파일명.php -q

 

실행할 파일명.php 소스 상단에 아래 소스를 삽입해도 된다.

#!/usr/bin/php -q

<?php

echo "php 쉘스크립트";

?>

 

참고3> 백그라운드로 실행하고 싶다면 & 을 사용한다.(반대로 포그라운드로 전환할 수도 있다. <- 추후 작성예정)

]# ./파일명.php &

 

참고4>

실행 후 어떠한 값도 남기지 않는다.

]# ./파일명.php > /dev/null &

 

참고5>

실행을 한 사용자가 로그아웃을 하게 되면 실행중인 프로세스가 죽게되는데 

로그아웃을 해도 실행을 마칠때까지 계속 살아있게하려면 nohup 명령어를 사용한다.

]# nohup ./파일명.php &

 

참고6>

nohup 명령어를 사용하면 실행을 마친 후 결과 값이 파일(nohup.out)로 자동 저장하게 된다.

]# nohup ./파일명.php &

]# nohup: appending output to `nohup.out'

 

cat 명령어로 내용을 확인해 보자

]# cat nohup.out

 

참고7>

nohup 명령어로 실행을 마친 후 결과를 원하는 곳에 원하는 파일명으로 저장하고 싶다면

]# nohup ./파일명.php > log/저장할파일명 &

 

 

실사용예> header 출력제한은 소스 상단에 삽입

]# nohup ./실행파일명.html > log/저장할파일명.log &

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
아무리 친한 사이라도 둘 사이를 파괴하고 싶지 않으면, 그리고 오래 지속시키고 싶으면, 어느 정도의 예의는 필요한 법이다. (필립 체스터필드의 “내 아들아 너는 인생을 이렇게 살아라” 중에서)