Table of Contents
U zou deze reparatietips moeten ontdekken als u gewoonlijk een Java Runtime Exec Linux CD-fout krijgt.
Goedgekeurd
Nadat je deze specifieke Java Runtime exec-instructies hebt overwogen, maak je een bestandsobject met het volledige pad van een persoon naar keuze dat in het “cd”-pad leeft, en voer je als derde parameter de govt-methode in.
open voor het publiek Process exec (regelcommando, Tekenreeks [] envp, bestandscatalogus) voert een IOException uit
Voert het beschreven menselijke tekenreekscommando ter plaatse uit, verwerkt de gespecificeerde omgeving en heeft een taakdirectory.
Dit zijn insider-oplossingen. Het exec (command, envp, dir) telefoongesprek gedraagt zich net als het aanroepen van exec (cmdarray, envp, dir) waarbij cmdarray een groot aantal tokens is voor het perfecte commando.
Verplaats het exacte binaire bestand van de .tar.gz-repository onmiddellijk naar de huidige map. De Java-versies worden geïnstalleerd in een directory met de naam jre1.8.0_73 in de bestaande directory. In dit voorbeeld staat het meestal in de directory /usr/java/jre1.8.0_73. Wanneer de installatie zelf is voltooid, controleert u het woord “Voltooien”. Verwijder het ongesneden .tar.gz-bestand als u ruimte wilt besparen.
In het bijzonder wordt de instructieregel gewoonlijk tokenized met behulp van een volledige StringTokenizer, die is gemaakt voor het aanroepen van een nieuwe StringTokenizer (commando) zonder ook bepaalde categorieën tekens te wijzigen. Vervolgens worden de tokens die alleen door de tokenizer worden gegenereerd, in de exacte volgorde naast de nieuwe archipel-array cmdarray geplaatst.
parameters: Houd de controle over - toegewijd technisch team. envp is een set berichten, elk met instellingen voor omgevingsvariabelen terug in hun huidige formaat naam = voordelen of null als ik wil dat individuele subprocessen de omgeving in het huidige proces erven. dir is de werkdirectory die bijna allemaal wordt geassocieerd met het subproces, mogelijk null als een bepaald subproces de directoryverplaatsing van een deel van het huidige proces zal erven.Opbrengst: Nieuw proces voor subprocesbesturingGebieden onder gebruik: SecurityException - als elke beveiligingsmanager aanwezig is en ook , voorkomt de checkExec-methode dat de beste subprocessen ontstaan. IOException - wanneer een fout zich kan voordoen bij de waterafgifte NullPointerException - Als de opdracht null is of als je envp-elementen nul zijn IllegalArgumentException - Wanneer de opdracht als leeg wordt beschouwd
Bij het aanroepen van de “cd” Shell-opdracht vanuit een Java-toepassing
Er is letterlijk geen uitvoerbare cd omdat het huis niet in een uniek proces kan worden geïmplementeerd. Het probleem is dat elk proces ook zijn eigen huidige werkdirectory heeft die cd implementeert, op voorwaarde dat een enkele actie de huidige werkdirectory voor de methode alleen maar ten goede verandert.
Junior lid
Ik wil Linux Shell beheren vanuit de Java-toepassing en krijg de runtime-fout na het uitvoeren van de nieuwe regel:
Uitzondering in thread “main” java.io.IOException: methode “cd” kan niet worden uitgevoerd: java.io.IOException: slip-up = 2, Geen dergelijk bestand voor directory plus
in een kopje koffie .lang.ProcessBuilder. start (ProcessBuilder .java: 459)
via java.lang.Runtime.exec (Runtime.java:593)
op java.lang.Runtime.exec (Runtime.java:431)
op java. lang. Runtime .govt (Runtime.java:328)
bij LauncherWin.main (LauncherWin.java:137)
Gegooid vanaf: java.io.IOException: java.io.IOException: fout impliceert 2, dergelijke bestanden worden niet vermeld , of misschien
op java.lang.UNIXProcess.
maakt zich zorgen java.lang.ProcessImpl.start (ProcessImpl.java:65)
samen met java.lang.ProcessBuilder.start (ProcessBuilder .java: 452)
. .. nog een paar
Dit werkt voor verschillende andere commando’s zoals “pwd”, “ls -l”, enzovoort .., maar niet voor “cd”.
bij voorbaat
Tatar
Voorkeurslid
pwd en zijn draagbare Mark vii-programma’s, en cd is gewoonlijk een eigen intern shell-commando. Probeer echte paden te gebruiken in plaats van details.
[bewerkt door Little_G in maart om 23:11 uur UTC. 28, 2008]
Junior lid
Absolute klasse-eindes werken niet … zijn er verschillende alternatieve manieren om de nieuwe directory voor een Java-toepassing in te stellen?
Voorkeurslid
U probeert een runtime-methode die een werktelefoonboekargument [java.sun.com …]
gebruikt
Junior lid
bereiken heb je hier een voorbeeld van? Ik zal ook al deze opdrachtpogingen op dit forum van tevoren posten, maar het probleem geeft dezelfde fout terug.
Ik doe de moeite om een commando te creëren vanuit een complete handige Java-applicatie zoals “mach versus blaze / javac” etc. die behalve draait vanaf een specifieke wereldwijde web-pagina voor indiening en niet werkt met regelrechte n Het bord. Kortom, de Java-toepassing voert een maskeringsopdracht uit die een andere Java-toepassing op het grootste deel van de smartphone dwingt om de opdracht run acquire te gebruiken.
Voorkeurslid
Oké, je bedrijf kan een soort van instance van elke shell starten en commando’s uploaden via de OutputStream van het hele proces. Hiermee kunt u de invoercommando’s naar het station overbrengen. Hier heb ik bash gebruikt terwijl ik een commerciële startdirectory / container had. Het programma geeft in feite “/ bin” weer, gekopieerd door “/” terwijl het cd-commando de bovenliggende map verplaatst.
instigate wd betekent nieuw bestand ("/ bin");
System.out.println (wd);
Proces proc impliceert nul;
probeer
proc is gelijk aan Runtime.getRuntime (). exec ("/ bin bash", nul, wd);
rit (IOException
e) e.printStackTrace ();
if (proc! = null)
BufferedReader in = nieuwe BufferedReader (nieuwe InputStreamReader (proc.getInputStream ()));
Toegankelijk voor PrintWriter komt overeen met newPrintWriter (nieuwe BufferedWriter (nieuwe OutputStreamWriter (proc.getOutputStream ())), true);
out.println ("cd ..");
out.println ("pwd");
out.println ("afsluiten");
hebben
String lijn;
while ((regel = in.readLine ())! typisch nul)
System.out. println (string);
proc.waitFor ();
in.sluiten ();
uit.sluiten ();
proc.destroy (); pure
(excl. e)
e.printStackTrace ();
[bewerkt door Little_G 12:02 (UTC) 29 maart 2008]
Lid
junior Lid
junior
Bedankt Little_G! het idee werkte, hou van de charme :-)!
Lid
Bedankt Little_G! het idee werkte, hou van de charme :-)!
Lid
junior
Ik heb een bijkomend probleem :-(.
Ik probeer hier een crontab-contract van te maken, vooral omdat het zo snel mogelijk out.println (“java AppClass”), doet het spel dat waarschijnlijk. Het werkt geweldig voor het geval ik je perl-script uitvoer dat ervoor verantwoordelijk is, misschien afkomstig van de opdrachtregel, maar de accelerator en output = 127 wanneer het echt via crontab wordt uitgevoerd. Idee? de meerderheid van degene die ik heb geprobeerd, zodat je thread.sleep installeert voordat je afsluit, leverde niet de resultaten op.
Voorkeurslid
honderdzevenentwintig betekent meestal commando niet gevonden, dus je zult proberen een echt programma uit te voeren dat niet op elkaar kan worden gevonden.
Is er een absolute bekende reden waarom je bMaak je hier zorgen over in Java? Kan een individu doen wat je wilt met een enkel shellscript.
Junior onderdeel
Ja, ik kan Java gebruiken omdat ons hele framework Java ondersteunt. De Java class werkt verder prima doet ook wat er van de hand verwacht werd, maar klompen cron met perform.
Junior lid
Ik gebruik een Perl crontab illegaal programma:
#! / usr / prullenbak / perl -classpath
lichaamsbouw (“java / usr / local / identificeer folder1.folder2.AppLnx”);
Als ik zo’n script handmatig uitvoer vanuit het commando de wachtrij, is alles in orde. Ik weet dat deze specifieke crontab vanuit het hart van de map wordt uitgevoerd, maar de nuled vbulletin die je echt hebt opgegeven, zou de map moeten bevatten waarin je het kunt uitvoeren, omdat het dit zeker handmatig zal doen.
Junior lid
Het lijkt erop dat de suggesties die u voorstelde niet effectief zijn via crontab, omdat het alles doet voor de hoofdoorzaak van het product en cd-orders en/of ander werk om te wijzigen negeert deze map. Mijn vraag is, hoe kan ik de directory van het perl-script wijzigen om die reden dat crontab het niet opzij heeft gezet?
Junior lid
Ik was in feite in staat om de code te ontleden door crontab te kopen, maar op het moment verslikt het idee zich wanneer ik Safari vind :-(. Nogmaals, het werkt prima als ik het vanaf opdrachtniveau uitvoer, ook het uitvoeren van crontab geeft ook een handig fout dat Firefox bin niet kan worden geïnterpreteerd om te vinden. Het is duidelijk dat crontab een absoluut pad plant, maar het niet kan vinden. Suggesties welkom.
Goedgekeurd
De ASR Pro-reparatietool is de oplossing voor een Windows-pc die traag werkt, registerproblemen heeft of is geïnfecteerd met malware. Deze krachtige en gebruiksvriendelijke tool kan uw pc snel diagnosticeren en repareren, waardoor de prestaties worden verbeterd, het geheugen wordt geoptimaliseerd en de beveiliging wordt verbeterd. Geen last meer van een trage computer - probeer ASR Pro vandaag nog!
De software om uw pc te repareren is slechts een klik verwijderd - download hem nu.
Ik heb een bijkomend probleem :-(.
Ik probeer hier een crontab-contract van te maken, vooral omdat het zo snel mogelijk out.println (“java AppClass”), doet het spel dat waarschijnlijk. Het werkt geweldig voor het geval ik je perl-script uitvoer dat ervoor verantwoordelijk is, misschien afkomstig van de opdrachtregel, maar de accelerator en output = 127 wanneer het echt via crontab wordt uitgevoerd. Idee? de meerderheid van degene die ik heb geprobeerd, zodat je thread.sleep installeert voordat je afsluit, leverde niet de resultaten op.
Voorkeurslid
honderdzevenentwintig betekent meestal commando niet gevonden, dus je zult proberen een echt programma uit te voeren dat niet op elkaar kan worden gevonden.
Is er een absolute bekende reden waarom je bMaak je hier zorgen over in Java? Kan een individu doen wat je wilt met een enkel shellscript.
Junior onderdeel
Ja, ik kan Java gebruiken omdat ons hele framework Java ondersteunt. De Java class werkt verder prima doet ook wat er van de hand verwacht werd, maar klompen cron met perform.
Junior lid
Ik gebruik een Perl crontab illegaal programma:
#! / usr / prullenbak / perl -classpath
lichaamsbouw (“java / usr / local / identificeer folder1.folder2.AppLnx”);
Als ik zo’n script handmatig uitvoer vanuit het commando de wachtrij, is alles in orde. Ik weet dat deze specifieke crontab vanuit het hart van de map wordt uitgevoerd, maar de nuled vbulletin die je echt hebt opgegeven, zou de map moeten bevatten waarin je het kunt uitvoeren, omdat het dit zeker handmatig zal doen.
Junior lid
Het lijkt erop dat de suggesties die u voorstelde niet effectief zijn via crontab, omdat het alles doet voor de hoofdoorzaak van het product en cd-orders en/of ander werk om te wijzigen negeert deze map. Mijn vraag is, hoe kan ik de directory van het perl-script wijzigen om die reden dat crontab het niet opzij heeft gezet?
Junior lid
Ik was in feite in staat om de code te ontleden door crontab te kopen, maar op het moment verslikt het idee zich wanneer ik Safari vind :-(. Nogmaals, het werkt prima als ik het vanaf opdrachtniveau uitvoer, ook het uitvoeren van crontab geeft ook een handig fout dat Firefox bin niet kan worden geïnterpreteerd om te vinden. Het is duidelijk dat crontab een absoluut pad plant, maar het niet kan vinden. Suggesties welkom.
Goedgekeurd
De ASR Pro-reparatietool is de oplossing voor een Windows-pc die traag werkt, registerproblemen heeft of is geïnfecteerd met malware. Deze krachtige en gebruiksvriendelijke tool kan uw pc snel diagnosticeren en repareren, waardoor de prestaties worden verbeterd, het geheugen wordt geoptimaliseerd en de beveiliging wordt verbeterd. Geen last meer van een trage computer - probeer ASR Pro vandaag nog!