Re: Closing a process when SSH is interrupted?
- From: "Glemboski, Mark A" <mark.glemboski@xxxxxxxxxxxxxxxxxxx>
- Date: Tue, 20 Nov 2007 20:54:39 +0000
I've just run across this problem too using Solaris openssh-4.4p1.
I have learned that using 'trap' is no help because the spawned shell
never receives any signal or Ctrl-C.
Its parent sshd detects the end of the network connection
and abandons the spawned shell without notice.
One work around I found is to use 'ssh -t' to invoke the remote command.
This forces the spawned shell to have a controlling terminal.
Invoked this way, the remote command is correctly interrupted
and terminated as you would like.
This doesn't seem like the correct behavior.
With or without a controlling terminal,
the remote command should be terminated.
I've submitted this question to openssh-unix-dev.
--- begin included message ---
an ssh session spawns a remote shell, which is hopefully Bash. Have you
tried using traps to mop up your application on exit rather than letting
it be orphaned to init?
trap "kill someprocess" SIGNAL1 SIGNAL2 etc...
see man bash for details... or whatever your shell's man page is.
Jared C. Davis wrote:
Is there a way to tell SSH that the remote task should be killed once
the client disconnects?
For example, I tried running:
me@local$ ssh remote sleep 100
And then typed [Ctrl+C] to kill the ssh command on local. But the
sleep command kept running on remote for the full 100 seconds. I
think I want to be able to tell the remote machine, "if I interrupt
the ssh client, then kill the process I sent you."
Maybe I should be doing something else. I'm working on a script that
uses SSH to send some commands to remote machines, but sometimes these
commands can get into infinite loops and need to be killed. When this
happens, I'd like to be able to have my program kill them. It seemed
most straightforward to kill the ssh client, but then I discovered
this does not kill the remote process.
- Prev by Date: Re: Defering passphrase entry with ssh-add
- Next by Date: Re: Restricted (ksh -r) shell and SSH on AIX5.1
- Previous by thread: Restricted (ksh -r) shell and SSH on AIX5.1
- Next by thread: How to export variables on remote machine through ssh.