SSH를 사용하여 서버를 제거하는 PHP 스크립트를 작성하고 있습니다. 내가해야 할 일은 특정 프로세스가 실행 중인지 아닌지 확인하여 종료 할 수 있는지 확인하는 것입니다. phpseclib을 사용하고 있습니다. 다음 코드는 서버에 연결하고 프로세스를 나열하지만 각 프로세스의 프로세스 ID를 얻는 데 정말로 걸림돌이됩니다! (여기에 32405 및 32407입니다) I는 PID를 얻기 위해 노력했다특정 프로세스의 PID를 얻는 방법
root 32405 1 3 09:45 ? 00:03:30 php /afghanwiz/distributor1.php
root 32407 1 3 09:45 ? 00:03:33 php /afghanwiz/distributor2.php
라인과 단어하지만 성공을 폭발 사용 :
include('Net/SSH2.php');
$ssh = new Net_SSH2('192.168.1.1');
$ssh->login('username', 'password') or die("SSH Login failed");
$ps = $ssh->exec('ps -ef | grep ".php"');
echo $ps;
출력이다. 누구든지 그런 문제에 대해 알고 있습니까? 당신은 그들이 루트로 실행되고 있는지 알고 있다면
는 정말 고마워요! – goseo
당신은 오신 것을 환영합니다. :)'pidof' 명령에 대해서 알고 싶을 수도 있습니다. 서버에 설치되어 있으면 pid를 공백으로 구분 된 목록으로 얻을 수 있습니다. – hek2mgl