diff --git a/smi/src/smi_def.h b/smi/src/smi_def.h
index 1c79e15747ef31772bbe4b8d9b84a9a25b6a20a6..1989e79b7021168bd03c0827b7173c7758cfbd0f 100644
--- a/smi/src/smi_def.h
+++ b/smi/src/smi_def.h
@@ -2,7 +2,7 @@
 #define SMIDEF_H
 
 #define VERSION_MAJOR 2
-#define VERSION_MINOR 19
+#define VERSION_MINOR 20
 
 #define ATOMIC_UNLOCKED -1 
 #define ATOMIC_UNLOCKED0 0
diff --git a/smi/src/taskdisp_nrt.c b/smi/src/taskdisp_nrt.c
index c604c5a13f89e59ba06e4017c6f2096eb2393635..931eec98dc8e982427f4f20483b36c2b3770405b 100644
--- a/smi/src/taskdisp_nrt.c
+++ b/smi/src/taskdisp_nrt.c
@@ -103,7 +103,9 @@ void killProcess_(processType nrtProcessID)
 	) {
 		printf("[killProcess_] killing process %lld nrtProcessID=%d\n",
 			(long long int)shm->pid[nrtProcessID],nrtProcessID); 
-		sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]);
+//		sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]);
+// kill also child procresses
+		sprintf(str,"pkill -9 -P %lld\n",(long long int)shm->pid[nrtProcessID]);
 		ret=system(str);
                 ret=ret; // eliminate compiler warning
 		usleep(STD_SLEEP); // possibly longer sleep time required