Add a way for the buildbot to kill any old processes that are running. This <>
Wed, 14 Apr 2010 20:32:50 +0000 (20:32 +0000) <>
Wed, 14 Apr 2010 20:32:50 +0000 (20:32 +0000)
is useful because the Windows bots can get in states where a process remains
running (httpd.exe, DumpRenderTree.exe), which causes the bots to get in a red
state, and the processes must be killed manually.

Reviewed by Adam Roben.

* BuildSlaveSupport/ If we are on Windows, kill
    the old processes that might be running.
* BuildSlaveSupport/win/kill-old-processes: Added.

git-svn-id: 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/BuildSlaveSupport/win/kill-old-processes [new file with mode: 0755]

index 4859277..43a5c2b 100644 (file)
@@ -53,6 +53,10 @@ class InstallWin32Dependencies(shell.Compile):
     descriptionDone = ["installed dependencies"]
     command = ["perl", "./WebKitTools/Scripts/update-webkit-auxiliary-libs"]
+class KillOldProcesses(shell.Compile):
+    description = ["killing old processes"]
+    descriptionDone = ["killed old processes"]
+    command = ["python", "./WebKitTools/BuildSlaveSupport/win/kill-old-processes"]
 class InstallChromiumDependencies(shell.ShellCommand):
     name = "gclient"
@@ -320,6 +324,7 @@ class Factory(factory.BuildFactory):
         self.addStep(ConfigureBuild, platform=platform, configuration=configuration, architecture=" ".join(architectures), buildOnly=buildOnly)
         if platform == "win":
+            self.addStep(KillOldProcesses)
         if platform == "chromium":
diff --git a/WebKitTools/BuildSlaveSupport/win/kill-old-processes b/WebKitTools/BuildSlaveSupport/win/kill-old-processes
new file mode 100755 (executable)
index 0000000..50fb8a5
--- /dev/null
@@ -0,0 +1,37 @@
+# Copyright (C) 2010 Apple Inc.  All rights reserved.\r
+# Redistribution and use in source and binary forms, with or without\r
+# modification, are permitted provided that the following conditions\r
+# are met:\r
+# 1.  Redistributions of source code must retain the above copyright\r
+#     notice, this list of conditions and the following disclaimer. \r
+# 2.  Redistributions in binary form must reproduce the above copyright\r
+#     notice, this list of conditions and the following disclaimer in the\r
+#     documentation and/or other materials provided with the distribution. \r
+import os, sys\r
+def main():\r
+    tasksToKill = ["DumpRenderTree.exe", "DumpRenderTree_debug.exe", "testapi.exe", "testapi_debug.exe",\r
+                "svn.exe", "httpd.exe", "cl.exe", "link.exe", "midl.exe", "devenv.exe", "perl.exe",\r
+                "imagediff.exe", "imagediff_debug.exe", "jsc.exe", "jsc_debug.exe"]\r
+    for task in tasksToKill:\r
+        os.system("taskkill /f /im " + task)\r
+if __name__ == '__main__':\r
+    sys.exit(main())\r
index 952fb4b..2321d92 100644 (file)
@@ -1,3 +1,16 @@
+2010-04-14  Brian Weinstein  <>
+        Reviewed by Adam Roben.
+        Add a way for the buildbot to kill any old processes that are running. This
+        is useful because the Windows bots can get in states where a process remains
+        running (httpd.exe, DumpRenderTree.exe), which causes the bots to get in a red
+        state, and the processes must be killed manually.
+        * BuildSlaveSupport/ If we are on Windows, kill
+            the old processes that might be running.
+        * BuildSlaveSupport/win/kill-old-processes: Added.
 2010-04-14  Sam Weinig  <>
         Reviewed by Anders Carlsson.