-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56059/
-----------------------------------------------------------
(Updated Feb. 8, 2017, 4:50 p.m.)
Review request for Ambari, Alejandro Fernandez, Andrew Onischuk, Dmytro
Grinenko, Jonathan Hurley, and Nate Cole.
Changes
-------
Removed yum&rpm staff, left only python implementation
Summary (updated)
-----------------
Broken kill_process_with_children shell single liner
Bugs: AMBARI-19768
https://issues.apache.org/jira/browse/AMBARI-19768
Repository: ambari
Description (updated)
-------
This single liner does not work correctly in some cases
{code} CMD = """ps xf | awk -v PID=""" + str(pid) + \
""" ' $1 == PID { P = $1; next } P && /_/ { P = P " " $1;""" + \
"""K=P } P && !/_/ { P="" } END { print "kill -""" \
+ str(signal) + """ "K }' | sh """
{code}
*Example*
{code}((sleep 3141592) & ((sleep 3141592) & (sleep 3141592))
ps xf
3231 ? Ss 0:01 \_ sshd: root@pts/0
3233 pts/0 Ss 0:00 | \_ -bash
17984 pts/0 S+ 0:00 | \_ -bash
17985 pts/0 S+ 0:00 | \_ sleep 3141592
17986 pts/0 S+ 0:00 | \_ -bash
17987 pts/0 S+ 0:00 | \_ sleep 3141592
17988 pts/0 S+ 0:00 | \_ sleep 3141592
17738 ? Ss 0:00 \_ sshd: root@pts/1
17740 pts/1 Ss 0:00 \_ -bash
17989 pts/1 R+ 0:00 \_ ps xf
ps xf | awk -v PID=17987 ' $1 == PID { P = $1; next } P && /_/ { P = P " "
$1;K=P } P && !/_/ { P="" } END { print "kill "K }'
(PID=17987)
result : "kill 17987 17988 17738 17740 18083 18084"
but right will only "kill 17987"
(PID=17985)
result : "kill 17985 17986 17987 17988 17738 17740 18697 18698"
right : "kill 17985"
(PID=17986)
result : "kill 17986 17987 17988 17738 17740 18980 18981"
right : "kill 17986 17987 17988"
{code}
Diffs (updated)
-----
ambari-agent/src/test/python/ambari_agent/TestProcessUtils.py PRE-CREATION
ambari-agent/src/test/python/ambari_agent/TestShell.py 8d375e3
ambari-common/src/main/python/ambari_commons/process_utils.py PRE-CREATION
ambari-common/src/main/python/ambari_commons/shell.py 8d26599
Diff: https://reviews.apache.org/r/56059/diff/
Testing
-------
mvn clean test
Thanks,
Dmitro Lisnichenko