Open ep1cman opened 5 months ago
It seems that when it is being wrapped by sudo, the PID returned is not the PGID.
$ ps -efj | grep 373747
UID PID PPID PGID SID C STIME TTY TIME CMD
root 373747 370822 373747 373747 0 11:43 ? 00:00:00 sudo -k -p -S -- sh -c printf '%s ' $$; exec sh -c 'sh -c '"'"'export PATH=/home/appa/devlib-target/bin:$PATH && export LC_ALL=C && poller -l 0 /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'"'"' '
root 373748 373747 373747 373747 0 11:43 ? 00:00:00 sh -c sh -c 'export PATH=/home/appa/devlib-target/bin:$PATH && export LC_ALL=C && poller -l 0 /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
root 373749 373748 373747 373747 0 11:43 ? 00:00:00 sh -c export PATH=/home/appa/devlib-target/bin:$PATH && export LC_ALL=C && poller -l 0 /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
root 373750 373749 373747 373747 0 11:43 ? 00:00:00 poller -l 0 /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
appa 373769 352164 373768 352164 0 11:43 pts/0 00:00:00 grep --color=auto 373747
The PID sent to the kill command in this case was 373748
, but you can see the PGID is actually 373747
which is the the outer sudo call
Interesting, thanks for reporting.
In case someone has the same idea, this PR https://github.com/ARM-software/devlib/pull/689 does not provide a workaround, since SIGTERM, SIGQUIT and SIGKILL are still handled in the same way as currently.
I have started a background task as follows:
When I then try to run:
I see the following error:
Checking on the device I can see that the PID does exist:
~It seems the issue is the preceding
-
, if I run the command manually without it (/home/appa/devlib-target/bin/busybox kill -15 329893
) the process is killed as expected~