version 1.104, 2003/06/04 12:18:49 |
version 1.105, 2003/06/04 12:40:39 |
|
|
char *ssh_program = _PATH_SSH_PROGRAM; |
char *ssh_program = _PATH_SSH_PROGRAM; |
|
|
/* This is used to store the pid of ssh_program */ |
/* This is used to store the pid of ssh_program */ |
pid_t do_cmd_pid; |
pid_t do_cmd_pid = -1; |
|
|
|
static void |
|
killchild(int signo) |
|
{ |
|
if (do_cmd_pid > 1) |
|
kill(do_cmd_pid, signo); |
|
|
|
_exit(1); |
|
} |
|
|
/* |
/* |
* This function executes the given command as the specified user on the |
* This function executes the given command as the specified user on the |
* given host. This returns < 0 if execution fails, and >= 0 otherwise. This |
* given host. This returns < 0 if execution fails, and >= 0 otherwise. This |
|
|
*fdout = pin[1]; |
*fdout = pin[1]; |
close(pout[1]); |
close(pout[1]); |
*fdin = pout[0]; |
*fdin = pout[0]; |
|
signal(SIGTERM, killchild); |
|
signal(SIGINT, killchild); |
|
signal(SIGHUP, killchild); |
return 0; |
return 0; |
} |
} |
|
|