Skip to content
Snippets Groups Projects
Commit 9d196b4f authored by Torsten Merz's avatar Torsten Merz
Browse files

changed method to kill processes and their descendants

parent b4eccf4c
Branches
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#define SMIDEF_H #define SMIDEF_H
#define VERSION_MAJOR 2 #define VERSION_MAJOR 2
#define VERSION_MINOR 20 #define VERSION_MINOR 21
#define ATOMIC_UNLOCKED -1 #define ATOMIC_UNLOCKED -1
#define ATOMIC_UNLOCKED0 0 #define ATOMIC_UNLOCKED0 0
......
...@@ -103,12 +103,18 @@ void killProcess_(processType nrtProcessID) ...@@ -103,12 +103,18 @@ void killProcess_(processType nrtProcessID)
) { ) {
printf("[killProcess_] killing process %lld nrtProcessID=%d\n", printf("[killProcess_] killing process %lld nrtProcessID=%d\n",
(long long int)shm->pid[nrtProcessID],nrtProcessID); (long long int)shm->pid[nrtProcessID],nrtProcessID);
/*
// kill child procresses // kill child procresses
sprintf(str,"pkill -9 -P %lld\n",(long long int)shm->pid[nrtProcessID]); sprintf(str,"pkill -9 -P %lld\n",(long long int)shm->pid[nrtProcessID]);
ret=system(str); ret=system(str);
// kill parent process // kill parent process
sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]); sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]);
ret=system(str); ret=system(str);
*/
// kill process and all its descendants
sprintf(str,"kill -9 `pstree -l -p %lld | grep -oP '(?<=\\()[0-9]+(?=\\))'`",
(long long int)shm->pid[nrtProcessID]);
ret=system(str);
ret=ret; // eliminate compiler warning ret=ret; // eliminate compiler warning
usleep(STD_SLEEP); // possibly longer sleep time required usleep(STD_SLEEP); // possibly longer sleep time required
for (i=0;i<shm->numberOfTaskStates;i++) { for (i=0;i<shm->numberOfTaskStates;i++) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment