From 21fabe259bda5cd8048fc9c62045a8031b475df5 Mon Sep 17 00:00:00 2001 From: orbiter Date: Sun, 1 Jul 2007 22:43:08 +0000 Subject: [PATCH] another fix to the restart function; now tested under linux git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@3947 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- source/de/anomic/server/serverCore.java | 4 +++- source/de/anomic/server/serverSystem.java | 6 ++--- source/de/anomic/yacy/yacyVersion.java | 28 +++-------------------- 3 files changed, 8 insertions(+), 30 deletions(-) diff --git a/source/de/anomic/server/serverCore.java b/source/de/anomic/server/serverCore.java index 3ec2e0fda..54338a492 100644 --- a/source/de/anomic/server/serverCore.java +++ b/source/de/anomic/server/serverCore.java @@ -6,7 +6,7 @@ // // $LastChangedDate$ // $LastChangedRevision$ -// $LastChangedBy$ +// $LastChangedBy: $ // // ThreadPool // @@ -95,7 +95,9 @@ public final class serverCore extends serverAbstractThread implements serverThre public static final byte lf = 10; public static final byte[] crlf = {cr, lf}; public static final String crlfString = new String(crlf); + public static final String lfstring = new String(new byte[]{lf}); public static final Class[] stringType = {"".getClass()}; // set up some reflection + //Class[] exceptionType = {Class.forName("java.lang.Throwable")}; diff --git a/source/de/anomic/server/serverSystem.java b/source/de/anomic/server/serverSystem.java index 66636b50e..916532c63 100644 --- a/source/de/anomic/server/serverSystem.java +++ b/source/de/anomic/server/serverSystem.java @@ -50,9 +50,6 @@ import java.util.Hashtable; import java.util.Properties; import java.util.Vector; -import de.anomic.plasma.plasmaSwitchboard; -import de.anomic.server.logging.serverLog; - public final class serverSystem { // constants for system identification @@ -342,7 +339,8 @@ public final class serverSystem { public static void execAsynchronous(File scriptFile) throws IOException { // runs a unix/linux script as separate thread File starterFile = new File(scriptFile.getAbsolutePath() + ".starter.sh"); - deployScript(starterFile, scriptFile.getAbsolutePath() + " &"); + //deployScript(starterFile, "touch restart.starter.startet1"); + deployScript(starterFile, scriptFile.getAbsolutePath() + " &" + serverCore.lfstring); try { Runtime.getRuntime().exec(starterFile.getAbsolutePath()).waitFor(); } catch (InterruptedException e) { diff --git a/source/de/anomic/yacy/yacyVersion.java b/source/de/anomic/yacy/yacyVersion.java index f51e2334e..04b64578a 100644 --- a/source/de/anomic/yacy/yacyVersion.java +++ b/source/de/anomic/yacy/yacyVersion.java @@ -27,10 +27,8 @@ package de.anomic.yacy; -import java.io.BufferedReader; import java.io.File; import java.io.IOException; -import java.io.InputStreamReader; import java.net.MalformedURLException; import java.util.Comparator; import java.util.Iterator; @@ -41,6 +39,7 @@ import de.anomic.htmlFilter.htmlFilterContentScraper; import de.anomic.http.httpc; import de.anomic.net.URL; import de.anomic.plasma.plasmaSwitchboard; +import de.anomic.server.serverCore; import de.anomic.server.serverFileUtils; import de.anomic.server.serverSystem; import de.anomic.server.logging.serverLog; @@ -288,8 +287,8 @@ public final class yacyVersion implements Comparator, Comparable { // start a re-start daemon try { serverLog.logInfo("RESTART", "INITIATED"); - String script = "cd " + plasmaSwitchboard.getSwitchboard().getRootPath() + "/DATA/RELEASE/;while [ -e ../yacy.running ]; do sleep 1;done;cd ../../;./startYACY.sh"; - File scriptFile = new File(plasmaSwitchboard.getSwitchboard().getRootPath(), "DATA/RELEASE/restart.sh"); + String script = "cd " + plasmaSwitchboard.getSwitchboard().getRootPath() + "/DATA/RELEASE/" + serverCore.lfstring + "while [ -e ../yacy.running ]; do" + serverCore.lfstring + "sleep 1" + serverCore.lfstring + "done" + serverCore.lfstring + "cd ../../" + serverCore.lfstring + "nohup ./startYACY.sh > /dev/null"; + File scriptFile = new File(plasmaSwitchboard.getSwitchboard().getRootPath(), "DATA/RELEASE/restart.sh"); serverSystem.deployScript(scriptFile, script); serverLog.logInfo("RESTART", "wrote restart-script to " + scriptFile.getAbsolutePath()); serverSystem.execAsynchronous(scriptFile); @@ -299,29 +298,8 @@ public final class yacyVersion implements Comparator, Comparable { serverLog.logSevere("RESTART", "restart failed", e); } } -/* - if (serverSystem.canExecUnix) { - // start a re-start daemon - try { - serverLog.logInfo("RESTART", "INITIATED"); - String script = "cd " + plasmaSwitchboard.getSwitchboard().getRootPath() + "/DATA/RELEASE/;while [ -e ../yacy.running ]; do sleep 1;done;cd ../../;./startYACY.sh"; - File scriptFile = new File(plasmaSwitchboard.getSwitchboard().getRootPath(), "DATA/RELEASE/restart.sh"); - serverFileUtils.write(script.getBytes(), scriptFile); - serverLog.logInfo("RESTART", "wrote restart-script to " + scriptFile.getAbsolutePath()); - Runtime.getRuntime().exec("chmod 755 " + scriptFile.getAbsolutePath()).waitFor(); - Runtime.getRuntime().exec(scriptFile.getAbsolutePath() + " &"); - serverLog.logInfo("RESTART", "script is running"); - plasmaSwitchboard.getSwitchboard().terminate(5000); - } catch (IOException e) { - serverLog.logSevere("RESTART", "restart failed", e); - } catch (InterruptedException e) { - serverLog.logSevere("RESTART", "restart failed", e); - } - } -*/ } - public static void writeDeployScript(String release) { //byte[] script = ("cd " + plasmaSwitchboard.getSwitchboard().getRootPath() + ";while [ -e ../yacy.running ]; do sleep 1;done;tar xfz " + release + ";cp -Rf yacy/* ../../;rm -Rf yacy;cd ../../;startYACY.sh").getBytes();