PHP - Send Shell Commands with shell_exec()
차례:
nohup
명령은 인수로 지정된 다른 프로그램을 실행하고 모든
SIGHUP
(hangup) 신호를 무시합니다.
SIGHUP
은 제어 터미널이 닫힐 때 프로세스로 전송되는 신호입니다.
일반적으로 SSH를 통해 프로그램을 실행할 때 연결이 끊어 지거나 로그 아웃하면 세션이 종료되고 터미널에서 실행 된 모든 프로세스가 중지됩니다. 이것은
nohup
명령이 유용한 곳입니다. 모든 중단 신호를 무시하고 프로세스가 계속 실행됩니다.
nohup 명령을 사용하는 방법
nohup
명령의 구문은 다음과 같습니다.
nohup COMMAND
이 명령은 표준
--help
및
--version
제외한 다른 옵션을 허용하지 않습니다.
다음 예제를 보자.
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
은 포 그라운드에서
mycommand
명령을 실행하고 명령 출력을
nohup.out
파일로 경로 재 지정합니다. 이 파일은 현재 작업 디렉토리에 작성됩니다. 명령을 실행하는 사용자에게 작업 디렉토리에 대한 쓰기 권한이 없으면 파일이 사용자의 홈 디렉토리에 작성됩니다.
로그 아웃하거나 터미널을 닫으면 프로세스가 종료되지 않습니다.
백그라운드에서 명령 실행
포 그라운드에서
nohup
을 사용하는 것은 명령이 완료 될 때까지 쉘과 상호 작용할 수 없으므로 매우 유용하지 않습니다.
백그라운드에서 명령을 실행하려면 명령 끝에
&
기호를 추가하십시오.
nohup mycommand &
출력에는 쉘 작업 ID (괄호로 묶음) 및 프로세스 ID가 포함됩니다.
25177
fg
명령을 사용하여 작업 ID를 사용하여 명령을 포 그라운드로 가져올 수 있습니다.
어떤 이유로 프로세스를 종료하려면
kill
명령 다음에 프로세스 ID를 사용하십시오.
출력을 파일로 리디렉션
기본적으로
nohup
은 명령 출력을
nohup.out
파일로 리디렉션합니다. 출력을 다른 파일로 경로 재 지정하려면 표준 쉘 경로 재 지정을 사용하십시오.
예를 들어 표준 출력 및 표준 오류를
mycommand.out
으로 리디렉션하려면 다음을 사용하십시오.
nohup mycommand > mycommand.out 2>&1 &
표준 출력 및 표준 오류를 다른 파일로 리디렉션하려면
nohup mycommand > mycommand.out 2> mycommand.err &
대안
터미널을 닫거나 연결을 끊을 때 명령이 종료되는 것을 방지하기 위해 사용할 수있는 대체 프로그램이 몇 가지 있습니다.
화면
Screen 또는 GNU Screen은 화면 세션을 시작하고 해당 세션 내에서 여러 창 (가상 터미널)을 열 수있는 터미널 멀티플렉서 프로그램입니다. 화면에서 실행중인 프로세스는 연결이 끊어져도 해당 창이 보이지 않으면 계속 실행됩니다.
툭스
Tmux는 GNU 화면의 현대적인 대안입니다. Tmux를 사용하면 세션을 생성하고 해당 세션 내에서 여러 창을 열 수도 있습니다. Tmux 세션은 영구적이므로 터미널을 닫아도 Tmux에서 실행중인 프로그램이 계속 실행됩니다.
자기 것이 아니라고 말하다
disown
은 쉘의 작업 제어에서 쉘 작업을 제거하는 쉘 내장 기능입니다.
nohup
과 달리 실행중인 프로세스에서도
disown
을 사용할 수 있습니다.
결론
nohup
사용하면 터미널을 로그 아웃하거나 종료 할 때 명령이 종료되는 것을 방지 할 수 있습니다.
첫 모습 : OpenSUSE 10.3 데스크탑 리눅스
세련된 그래픽 폴란드어 아래, 최신 SUSE는 여전히 애호가의 OS입니다.
인텔이 윈드 리버 인수를 시작한 것은 칩 제조업체가 분석가들은 인텔이 윈드 리버를 인수하기로 합의했다고 전했다. 인텔은 윈드 리버를 자사의 프로세서를 사용하는 기기에서 리눅스 지원을 확대 할 것을 강하게 요구하고있다. 884 백만 달러. 이번 인수는 인텔이 리눅스 분야에서 두각을 나타내면서 스마트 폰과 모바일 인터넷 기기에서 OS를 밀어 붙이려는 노력에 도움이 될 것이라고 분석가들은 말했다. 윈드 리버는 임베디드 리눅스 운영체제를 제공하며 스마트 폰과 같은 장치를위한 소프트웨어 설계 도구의 선두 주자이다. "[Intel]이 많은 벤더들과 경쟁하고 있지만, "451 그룹의 엔터프라이즈 소프트웨어 분석가 인 제이 라이먼 (Jay Lyman)은 말했다. 인텔은 Linux와 이종 버전의 OS를 통합하려는 노력에 더 많은 비중을두고 있으며, 라이먼은 말했다. 이 회사는 5 월에 베타 버전을 발표 한 모바일 장치 및 넷북 용 Linux 버전 인 Moblin v2.0을 개발 중
인텔의 아톰 프로세서는 모바일 장치 및 넷북 용으로 설계되었으며 최근에는 임베디드 장치 용 Atom 칩의 파생물을 발표했다. 또한 대만 반도체 제조 회사 (Taiwan Semiconductor Manufacturing Company)와 3 월에 발표 한 계약을 통해 다른 칩 디자이너들에게 Atom의 디자인을 공개했다. 회사는 저전력 칩 설계가 오늘날 대부분의 휴대 전화와 스마트 폰에 들어가는 경쟁사 인 암 (Arm)을 따라 잡기 위해 노력 중이다.
모바일 캐리어가 넷북을 무료로 제공하기 시작할 수 있으며 Linux 기반 앱 스토어가 리눅스 옹호 단체의 책임자는 "이동 통신 사업자가 넷북을 무료로 제공하기 시작할 수 있고 리눅스 기반 애플리케이션 스토어가 이익을 얻는 데 도움이 될 수 있다고 리눅스 옹호 단체 대표는 중국 기업들 베이징 포럼에서 짐 젬린 (Jim Zemlin) Linux Foundation 사무 총장은 "넷북을 할인 된 가격으로 판매하고 이후 애플리케이션 다운로드를 통해 수익을 얻으려는 이동 통신 업체의 움직임은 기회 다. 그는 리눅스를 기반으로 기기를 제공하고 매장을 다운로드 할 것을 고려할 것을 중국과 글로벌 기업에 촉구했다. 리눅스는 몇 가지 장점을 가지고 있지만, 사용자 습관과 슬림 한 소프트웨어 제공은 운영체제에서 Windows가 가까운 장래에 넷북에서 계속 우위를 차지할 것이라는 것을 의미한다. J. Gold Associates의 애널리스트 Jack Gold는 다음과 같이 덧붙였습니다
[추가 정보 : 최고의 PC 랩톱을위한 우리의 선택]