Perlmonks-

Running the following ssh command locally:

ssh user@host tail -f /etc/passwd

Results in the following 2 processes on the far end machine (note PGID & SID):

UID PID PPID PGID SID CMD root 22409 4763 4763 4763 sshd -f /etc/ssh/sshd_config -R user 22411 22409 22411 22411 tail -f /etc/passwd

As expected, when I ctrl-c out of the ssh command on the originating local computer, I loose the sshd_config process at the far end, but the tail -f child process survives and looks like this:

UID PID PPID PGID SID CMD user 22411 1 22411 22411 tail -f /etc/passwd

I would like for the child process to die when I ctrl-c out of the ssh command. How can I do this?

Put another way, how can I get the child process (tail -f) to be in the same process group as the parent (sshd_config)?

My first thought was to use perl's setpgrp command: setpgrp(PID, PGRP) where:

PID - Child's process ID PGRP - Parents process group

However, this seems to always fail on SunOS. Probably because of what is described in the setpgrp camel book description:

Sets the current process group for the specified PID, 0 for the current process. Will produce a fatal error if used on a machine that doesn't implement POSIX setpgid(2) or BSD setpgrp(2). If the arguments are omitted, it defaults to 0,0 . Note that the BSD 4.2 version of setpgrp does not accept any arguments, so only setpgrp(0,0) is portable. See also POSIX::setsid() .

Any help is appreciated.

Thanks!

-Craig


In reply to Unwanted SSH child survives after ssh session by cmv

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.