diff options
author | Craig Small <csmall@dropbear.xyz> | 2022-12-12 16:46:36 +1100 |
---|---|---|
committer | Craig Small <csmall@dropbear.xyz> | 2022-12-12 16:46:36 +1100 |
commit | f7a33746f8484629df9055f9a2dc5654f377c2fe (patch) | |
tree | 0bc579c238ddfa8fc6d6b05ab5d83d99508956f6 | |
parent | 31117ae10e3b224b286a88b4925702ba94c86a97 (diff) | |
download | procps-ng-f7a33746f8484629df9055f9a2dc5654f377c2fe.tar.gz |
skill: Restore the -p flag functionality
When the skill program was ported to the new API the code to filter
on PID, used by the -p option, was missed. It is now restored.
References:
https://bugs.debian.org/1025915
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | src/skill.c | 2 | ||||
-rw-r--r-- | testsuite/skill.test/skill.exp | 32 |
3 files changed, 38 insertions, 0 deletions
@@ -1,3 +1,7 @@ +procps-ng-NEXT +--------------- + * docs: Don't install English manpages twice + * skill: Match on -p again Debian #1025915 procps-ng-4.0.2 --------------- * library revision - 0:1:0 diff --git a/src/skill.c b/src/skill.c index 9f617bf..c2e5274 100644 --- a/src/skill.c +++ b/src/skill.c @@ -287,6 +287,8 @@ static void scan_procs(struct run_time_conf_t *run_time) for (i=0; i < total_procs; i++) { if (PIDS_GETINT(PID) == my_pid || PIDS_GETINT(PID) == 0) continue; + if (pids && !match_intlist(PIDS_GETINT(PID), pid_count, pids)) + continue; if (uids && !match_intlist(PIDS_GETUNT(EUID), uid_count, (int *)uids)) continue; if (ttys && !match_intlist(PIDS_GETINT(TTY), tty_count, ttys)) diff --git a/testsuite/skill.test/skill.exp b/testsuite/skill.test/skill.exp new file mode 100644 index 0000000..162d961 --- /dev/null +++ b/testsuite/skill.test/skill.exp @@ -0,0 +1,32 @@ +# +# Dejagnu testsuite for skill - part of procps +# +set skill ${topdir}src/skill +set tty [ get_tty ] + +if { ![ file exists $skill ] } { + untested { skipping (not built)} + return +} + +set test "skill with no arguments" +spawn $skill +expect_pass "$test" "Usage:\\s+\(lt-\)?skill \\\[signal\\\] \\\[options\\\] <expression>" + +set test "skill list signal names" +spawn $skill -l +expect_pass "$test" "^\(\[A-Z12+-\]\\s*\)+$" + +set test "skill list signal names in table" +spawn $skill -L +expect_pass "$test" "^\(\\s+\\d+ \[A-Z12+-\]+\)+\\s*$" + +make_testproc + +# Debian 1025915 +set test "skill find one process" +spawn $skill -n -p $testproc1_pid +expect_pass "$test" "^$testproc1_pid\\s*$" + +# Cleanup +kill_testproc |