Observed issue
==============
# Killing (signal SIGTERM) lttng-sessiond and lt-lttng-sessiond pids: 20962 20963
./tests/regression/tools/trigger/start-stop//../../../../utils/utils.sh: line 103: /proc/20963/cmdline: No such file or directory
Cause
=====
lttng_pgrep performs a two step search/validation for the pattern. Since
lttng_pgrep is used during tear-down of process (staged termination
signalling) a process returned by pgrep might exit before the second
check.
Solution
========
Simply silence the error. The code flow already acknowledges the
possibility of failure here.
Known drawbacks
=========
None
References
==========
Fixes: #1292
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I82cb9fd4754c10a5104af495a8a959f4fbd92664
while IFS= read -r pid ; do
# /proc/pid/cmdline is null separated.
- if full_command_no_argument=$(cut -d '' -f 1 < /proc/"$pid"/cmdline); then
+ if full_command_no_argument=$(cut -d '' -f 1 2>/dev/null < /proc/"$pid"/cmdline); then
command_basename=$(basename "$full_command_no_argument")
if grep -q "$pattern" <<< "$command_basename"; then
echo "$pid"