Re: Remote Execution of sudo Command Hangs.
Christian Walther writes: Try using pseudo tty allocation with your ssh command, it's the -t option. So, use ssh -t remote.system.domain sudo dhcpreset as the command. That worked perfectly. If this doesn't work directly, you can even try several ts. I had best results with -ttt. This is great to know. The only difference besides the fact it now works is that one sees a closed-connection message like what you see when you ssh to another system and spawn a shell because that seizes tty's also. It just hadn't occurred to me before that you don't seize a tty on the remote system when you remotely run an ssh command. Martin McCormick WB5AGZ Stillwater, OK Systems Engineer OSU Information Technology Department Network Operations Group ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Remote Execution of sudo Command Hangs.
We have 3 FreeBSD systems. One is trying to use ssh and sudo to run commands on two other systems. The remote command being executed is: ssh remote.system.domain sudo dhcpreset dhcpreset is an expect script most of which is shown here: spawn $env(SHELL) expect -exact \# send -- date\r expect -exact \# #body start send -- cd /usr/local/etc\r expect -exact \# send -- /usr/local/etc/zap dhcpd\r expect -exact \# send_user Stopped [exec hostname] dhcpd at [exec date +%y%m%d%H%M%S ].\n\r send -- /usr/local/sbin/dhcpd -q \r expect -exact \# send_user Partially restarted [exec hostname] dhcpd at [exec date +%y%m%d%H%M%S ].\n\r send -- tail -1f /var/log/syslog\r expect -exact peer moves from communications-interrupted to normal send -- $CONTROL_C #body end expect -exact \# send_user Fully restarted dhcpd at [exec date +%y%m%d%H%M%S ].\n\r send -- date;exit\r expect eof The script works perfectly if you run it from a login shell on the system where it actually lives as in: sudo dhcpreset. If you run it via ssh from a remote system, however, it runs, produces the proper status messages and does its job and then . . . . . . You have to hit a Control-C to kill off the ssh connection which doesn't drop on its own. I think my script must somehow make sudo not see the exit. Even though you see the dhcpd -q process started as a background process, dhcpd daemonizes almost immediately and you even see the completion message in a log of the activity so it isn't that. Besides, it exits properly when called locally. Other remote commands using sudo properly exit. Any idea how I might figure out what is hanging things up? If you do a ps on the remote system, the expect script has ended. On the calling system, you still see ssh to the remote system. Reading the expect manual shows an exit command but also says that it is implied when the end of the script is reached. I have tried it with and without that command at the end with no effect. Thanks for any other suggestions for making this command terminate when done. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Remote Execution of sudo Command Hangs.
Hi Martin, On 27/07/07, Martin McCormick [EMAIL PROTECTED] wrote: We have 3 FreeBSD systems. One is trying to use ssh and sudo to run commands on two other systems. The remote command being executed is: ssh remote.system.domain sudo dhcpreset dhcpreset is an expect script most of which is shown here: [Script removed] The script works perfectly if you run it from a login shell on the system where it actually lives as in: sudo dhcpreset. If you run it via ssh from a remote system, however, it runs, produces the proper status messages and does its job and then . . . . . . You have to hit a Control-C to kill off the ssh connection which doesn't drop on its own. I think my script must somehow make sudo not see the exit. Even though you see the dhcpd -q process started as a background process, dhcpd daemonizes almost immediately and you even see the completion message in a log of the activity so it isn't that. Besides, it exits properly when called locally. Other remote commands using sudo properly exit. Any idea how I might figure out what is hanging things up? If you do a ps on the remote system, the expect script has ended. On the calling system, you still see ssh to the remote system. Reading the expect manual shows an exit command but also says that it is implied when the end of the script is reached. I have tried it with and without that command at the end with no effect. Thanks for any other suggestions for making this command terminate when done. Try using pseudo tty allocation with your ssh command, it's the -t option. So, use ssh -t remote.system.domain sudo dhcpreset as the command. If this doesn't work directly, you can even try several ts. I had best results with -ttt. If this still doesn't work, try using nohup dhcpd -q as command. HTH Christian ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]