[
https://issues.apache.org/jira/browse/MESOS-2462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14388967#comment-14388967
]
Jie Yu commented on MESOS-2462:
-------------------------------
Yeah, but the caller is an almost one line change as well and we need ifdef in
both cases.
{code}
static int setupChild()
{
#ifdef __linux__
::prctl(PR_SET_PDEATHSIG, SIGKILL); // Best effort.
#endif
return 0;
}
{
Try<Subprocess> s = subprocess(
"du -k -s " + entry->path,
Subprocess::PATH("/dev/null"),
Subprocess::PIPE(),
Subprocess::PIPE(),
None(),
lambda::function<int()>(setupChild));
}
{code}
> Add option for Subprocess to set a death signal for the forked child
> --------------------------------------------------------------------
>
> Key: MESOS-2462
> URL: https://issues.apache.org/jira/browse/MESOS-2462
> Project: Mesos
> Issue Type: Improvement
> Components: isolation
> Affects Versions: 0.21.1
> Reporter: Ian Downes
> Assignee: Jie Yu
> Priority: Minor
> Labels: twitter
>
> Currently, children forked by the slave, including those through Subprocess,
> will continue running if the slave exits. For some processes, including
> helper processes like the fetcher, du, or perf, we'd like them to be
> terminated when the slave exits.
> Add support to Subprocess to optionally set a DEATHSIG for the child, e.g.,
> setting SIGTERM would mean the child would get SIGTERM when the slave
> terminates.
> This can be done (*after forking*) with PR_SET_DEATHSIG. See "man prctl". It
> is preserved through an exec call.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)