Я использую sshj, и я пытаюсь подключить файл, но моя проблема в том, что удаленный процесс никогда не убивается.
В следующем примере кода вы видите, что я пытаюсь подключить / var / log / syslog, а затем отправляю сигнал уничтожения процессу. Однако после того, как приложение остановлено и я перечисляю все процессы на сервере, я все еще вижу активный хвостовой процесс.
Почему этот код не убьет процесс? и что я могу сделать, чтобы исправить это?
SSHClient ssh = new SSHClient();
ssh.addHostKeyVerifier(new PromiscuousVerifier());
try {
ssh.connect("localhost");
ssh.authPassword("xxx", "xxx");
final Session session = ssh.startSession();
try {
final Command cmd = session.exec("tail -f /var/log/syslog");
cmd.signal(Signal.KILL);
System.out.println("\n** exit status: " + cmd.getExitStatus());
} catch (IOException e) {
e.printStackTrace();
}finally{
session.close();
}
} finally{
ssh.disconnect();
}
EDIT
также попытался отправить все доступные сигналы.
for(Signal s : Signal.values()){
cmd.signal(s);
}