diff --git a/Demo/tkinter/guido/kill.py b/Demo/tkinter/guido/kill.py
index dd0dbf4..36b479d 100755
--- a/Demo/tkinter/guido/kill.py
+++ b/Demo/tkinter/guido/kill.py
@@ -4,7 +4,7 @@
 from Tkinter import *
 from string import splitfields
 from string import split
-import commands
+import subprocess
 import os
 
 class BarButton(Menubutton):
@@ -31,7 +31,7 @@
         self.do_update()
     def do_update(self):
         name, option, column = self.format_list[self.format.get()]
-        s = commands.getoutput('ps -w ' + option)
+        s = subprocess.getoutput('ps -w ' + option)
         list = splitfields(s, '\n')
         self.header.set(list[0])
         del list[0]
diff --git a/Demo/tkinter/guido/svkill.py b/Demo/tkinter/guido/svkill.py
index 378d58f..b9d82ab 100755
--- a/Demo/tkinter/guido/svkill.py
+++ b/Demo/tkinter/guido/svkill.py
@@ -9,7 +9,7 @@
 
 from string import splitfields
 from string import split
-import commands
+import subprocess
 import os
 
 user = os.environ['LOGNAME']
@@ -46,7 +46,7 @@
     def do_update(self):
         format = self.format_list[self.format.get()][1]
         view = self.view_list[self.view.get()][1]
-        s = commands.getoutput('ps %s %s' % (view, format))
+        s = subprocess.getoutput('ps %s %s' % (view, format))
         list = splitfields(s, '\n')
         self.header.set(list[0] + '          ')
         del list[0]
