Вы можете установить Debian и, кроме того, не позволяющие запатентованным репозиторе, используйте VRMS
, чтобы проверить, есть ли у вас проприетарное программное обеспечение.
Подобные утилиты могут существовать для других дистрибутивов.
-121--102935-
SSH2 :: EXEC ()
Возвращает поток, который подключен к stdin
, stdout
и STDERR
от удаленной команды. Таким образом, вы можете сделать:
$command = '/path/to/daemon_adm.py';
$stream = $ssh->exec($command);
fwrite($stream, "$text\n");
Если вы не хотите пропускать параметры через stdin, вы можете использовать escapeShellarg ()
:
$command = '/path/to/daemon_adm.py ' . escapeshellarg($text);
$ssh->exec($command);
Проблема, по-видимому, заключается в промежутке времени между перезапуском процесса init и сбросом кэша страниц. Вместо того, чтобы выдать kill -9
, правильная последовательность выглядит следующим образом.
stop <service>
echo 3 > /proc/sys/vm/drop_caches
start <service>
Как только сервис остановлен, отображение файла больше не блокируется в кэше страниц и может быть сброшено. Это заставляет Linux перечитать ELF с диска при повторном запуске службы.