Остались SSH процессы / задания? - PullRequest
1 голос
/ 26 декабря 2011

Я использую библиотеку PHP phpseclib0.2.2 для автоматизации SSHing на одном из моих серверов.Я настроил его на задачу cron, которая запускается каждые 5 минут.

После выхода из системы после настройки, проверки ее работы и т. Д. Я увидел следующее:

$ logout
There are stopped jobs.
$ 

И я был вынужден снова использовать

$ logout

для выхода из системы.Есть ли на моем сервере куча процессов / заданий SSH, которые я никогда не закрываю? Как я могу «проверить это» в терминале с помощью команды bash (или каким-то другим способом)?

Ниже приведен код, который я использую,

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.com');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('some command');
?>

1 Ответ

2 голосов
/ 26 декабря 2011

Вы, вероятно, запустили некоторые процессы и отправили их в фоновый режим, например, с помощью конечного амперсанда, например sleep 60 &, или нажатием ^Z.

. Вы можете использовать команду jobs для отображения списка запущенныхили приостановил работу в вашей текущей оболочке.Если вы хотите, чтобы они работали после закрытия оболочки, вам сначала нужно disown их, а затем отправить их в фоновый режим с помощью bg.

$ sleep 1000 &
[1] 2345
$ sleep 2000
^Z
[2]+  Stopped                 sleep 2000
$ jobs
[1]-  Running                 sleep 1000 &
[2]+  Stopped                 sleep 2000
$ kill %2
$ kill %1
[1]-  Terminated              sleep 1000
[2]+  Terminated              sleep 2000

Если вы хотите, чтобы процессы выполнялись после вас 'Вы вышли из оболочки и уже знаете, что заранее вы должны использовать nohup для запуска этих процессов или написать правильный скрипт инициализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...