Discussion:
Process.exec(command) na UNIX-u
(prestaro za odgovor)
mah
2008-06-11 08:33:02 UTC
Permalink
Molim pomoc za izvodjenje UNIX naredbe iz Jave. Pod Windowsima imam ovakvu
konstrukciju:

Runtime iRT = Runtime.getRuntime();
Process tProcess = iRT.exec("cmd.exe /C copy a.txt b.txt");

Kako bi to islo pod UNIX odnosno HP-UX OS-om?
Ovaj copy... bi izkemijao ali neznam sta da stavim umjesto cmd.exe /C.
Janko Diminic
2008-06-11 10:50:23 UTC
Permalink
Post by mah
Molim pomoc za izvodjenje UNIX naredbe iz Jave. Pod Windowsima imam ovakvu
Runtime iRT = Runtime.getRuntime();
Process tProcess = iRT.exec("cmd.exe /C copy a.txt b.txt");
Kako bi to islo pod UNIX odnosno HP-UX OS-om?
Ovaj copy... bi izkemijao ali neznam sta da stavim umjesto cmd.exe /C.
Na linuxu ide recimo: bash -c xp a.txt b.txt
Janko Diminic
2008-06-11 10:52:46 UTC
Permalink
Post by Janko Diminic
Post by mah
Molim pomoc za izvodjenje UNIX naredbe iz Jave. Pod Windowsima imam ovakvu
Runtime iRT = Runtime.getRuntime();
Process tProcess = iRT.exec("cmd.exe /C copy a.txt b.txt");
Kako bi to islo pod UNIX odnosno HP-UX OS-om?
Ovaj copy... bi izkemijao ali neznam sta da stavim umjesto cmd.exe /C.
Na linuxu ide recimo: bash -c xp a.txt b.txt
Ispravak: bash -c cp a.txt b.txt ,
valjda nesto tako ide i na HP-UX, valjda ima bash ili neki drugi
shell (csh).
mah
2008-06-11 13:54:07 UTC
Permalink
Post by Janko Diminic
Post by Janko Diminic
Na linuxu ide recimo: bash -c xp a.txt b.txt
Ispravak: bash -c cp a.txt b.txt ,
valjda nesto tako ide i na HP-UX, valjda ima bash ili neki drugi
shell (csh).
tnx
kn
2008-06-12 07:45:09 UTC
Permalink
Post by mah
Molim pomoc za izvodjenje UNIX naredbe iz Jave. Pod Windowsima imam ovakvu
Runtime iRT = Runtime.getRuntime();
Process tProcess = iRT.exec("cmd.exe /C copy a.txt b.txt");
Kako bi to islo pod UNIX odnosno HP-UX OS-om?
Ovaj copy... bi izkemijao ali neznam sta da stavim umjesto cmd.exe /C.
Ako ti treba samo za copy fajlove i performanse nisu apsolutno kljucne,
mozda da copy implementiras u javi pa da budes miran?

http://www.javalobby.org/java/forums/t17036.html
mah
2008-06-16 09:05:35 UTC
Permalink
Post by kn
Ako ti treba samo za copy fajlove i performanse nisu apsolutno kljucne,
mozda da copy implementiras u javi pa da budes miran?
http://www.javalobby.org/java/forums/t17036.html
Ma treba mi za intervalno pokretanje jednog programa, copy je bio samo
primjer. Tnx anyway.
Janko Diminic
2008-06-17 05:58:33 UTC
Permalink
Post by mah
Post by kn
Ako ti treba samo za copy fajlove i performanse nisu apsolutno kljucne,
mozda da copy implementiras u javi pa da budes miran?
http://www.javalobby.org/java/forums/t17036.html
Ma treba mi za intervalno pokretanje jednog programa, copy je bio samo
primjer. Tnx anyway.
Ako pozivas externe programe pod linuxom, dobro ti
je napraviti malu shell shriptu koja poziva taj externi
program, a iz jave pozivas tu shell skriptu.
Ja sam znao imati problema kog nekih programa, kada sam
htjeo da mi Thread ceka dok se ne izvrsi program do kraja
ili sa vracanjem error stream programa ili jos sa vracanjem
one int vrjednosti programa koje ti vrati Runtime.exec() .
Na ovaj nacin to izbjegnes.
mah
2008-06-17 08:43:15 UTC
Permalink
Post by Janko Diminic
Post by mah
Ma treba mi za intervalno pokretanje jednog programa, copy je bio samo
primjer. Tnx anyway.
Ako pozivas externe programe pod linuxom, dobro ti
je napraviti malu shell shriptu koja poziva taj externi
program, a iz jave pozivas tu shell skriptu.
Ja sam znao imati problema kog nekih programa, kada sam
htjeo da mi Thread ceka dok se ne izvrsi program do kraja
ili sa vracanjem error stream programa ili jos sa vracanjem
one int vrjednosti programa koje ti vrati Runtime.exec() .
Na ovaj nacin to izbjegnes.
Znaci li to da ako program pokrecem preko shell skripte da ce onda Java
ziher cekati da se zavrsi izvodjenje programa koji skripta pokrece?
Janko Diminic
2008-06-17 10:21:03 UTC
Permalink
Post by mah
Post by Janko Diminic
Post by mah
Ma treba mi za intervalno pokretanje jednog programa, copy je bio samo
primjer. Tnx anyway.
Ako pozivas externe programe pod linuxom, dobro ti
je napraviti malu shell shriptu koja poziva taj externi
program, a iz jave pozivas tu shell skriptu.
Ja sam znao imati problema kog nekih programa, kada sam
htjeo da mi Thread ceka dok se ne izvrsi program do kraja
ili sa vracanjem error stream programa ili jos sa vracanjem
one int vrjednosti programa koje ti vrati Runtime.exec() .
Na ovaj nacin to izbjegnes.
Znaci li to da ako program pokrecem preko shell skripte da ce onda Java
ziher cekati da se zavrsi izvodjenje programa koji skripta pokrece?
Meni je, kod dosta programa koje sam tako pokretao.

Primjer:


#!/bin/sh

# parametri iz jave
P1=$1
P2=$2

echo "Start- poruka koju moze citati java"

#/usr/local/program -x1 P1 -x2 P2
EXIT_CODE=$?
echo "End - moze citati java da vidis da je kraj programa, inace sam
program moze izbacivati neke poruke..."
exit $EXIT_CODE

Loading...