![]() ![]() |
Java - Linux -terminal |
Mar 19 2008, 09:03 AM
Kiriman
#1
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
ni aku ada soalan pasal java dalam linux ni. aku ada satu command nak java yang run ka command tu. ni command nye:
CODE tc qdisc add dev eth0 root handle 10: cbq bandwidth 100Mbit avpkt 1000 command ni kalau aku taip kat terminal tu dan enter, dia akan generate benda tu. sekarang ni aku nak program java aku yang run kan command tu. ada sapa2 boleh tolong aku? |
|
|
|
Mar 19 2008, 09:19 AM
Kiriman
#2
|
|
|
Ahli ![]() ![]() ![]() Grup: Members Kiriman: 467 Penyertaan: 22-May 04 Dari: Shah Alam Ahli ke- 679 |
-------------------- Sony PSP Slim and Lite PSP-2006 PB
3.71 M33-2 > 3.71 M33-4 > 3.80 M33 > 3.80 M33-2 > 3.80 M33-3 > 3.80 M33-4 > 3.80 M33-5 > 3.90 M33-3 + 3.80 M33 Popsloader Canon Ixus 75 Compaq Presario V3751AU |
|
|
|
Mar 21 2008, 08:13 AM
Kiriman
#3
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
ok aku dah boleh run command tu.guna code ni. macam link yang ko bagi tu.
CODE String[] command = {"sh","masukkan command di sini"}; final Process process = Runtime.getRuntime().exec(command); |
|
|
|
Mar 21 2008, 09:03 AM
Kiriman
#4
|
|
|
Ahli ![]() ![]() ![]() Grup: Members Kiriman: 467 Penyertaan: 22-May 04 Dari: Shah Alam Ahli ke- 679 |
so topik dah boleh tutup la kot
-------------------- Sony PSP Slim and Lite PSP-2006 PB
3.71 M33-2 > 3.71 M33-4 > 3.80 M33 > 3.80 M33-2 > 3.80 M33-3 > 3.80 M33-4 > 3.80 M33-5 > 3.90 M33-3 + 3.80 M33 Popsloader Canon Ixus 75 Compaq Presario V3751AU |
|
|
|
Mar 22 2008, 02:35 PM
Kiriman
#5
|
|
|
Ahli ![]() Grup: Members Kiriman: 47 Penyertaan: 23-December 04 Ahli ke- 4,670 |
ok aku rs blh ttp topik ni....
|
|
|
|
Mar 31 2008, 08:57 PM
Kiriman
#6
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
ok ni ada lagi masalah ni...aku memang dah boleh run command tu tapi camne nak buat bagi dia run banyak command?
contoh camni : CODE try{ String[] command = {"sh","tc qdisc add dev eth0 root handle 10: cbq bandwidth 100Mbit avpkt 1000"}; final Process pr = Runtime.getRuntime().exec(command); } catch(Exception e) { } try{ String[] command = {"sh","tc class add dev eth0 parent 10:0 classid 10:1 cbq bandwidth 100Mbit rate \\ 100Mbit allot 1514 weight 10Mbit prio 8 maxburst 20 avpkt 1000"}; final Process pr = Runtime.getRuntime().exec(command) catch(Exception e) { } }; aku ada command ni dan aku dah try run, dia cuma run command yang 1st je...pastu yang command kedua tu tak jalan...apa masalah ni ye? atau korang ada idea lain atau cara aku buat tu salah? satu lagi camne aku nk guna method .close()? sebab bila aku letak kat situ pr.close() , dia akan bagi error. |
|
|
|
Mar 31 2008, 09:34 PM
Kiriman
#7
|
|
|
Ahli Rajin ![]() ![]() ![]() ![]() Grup: Members Kiriman: 731 Penyertaan: 2-December 06 Dari: Paka ke Dungun Ahli ke- 21,529 |
Try kena guna sekali je. Catch ko buleh guna banyak kali.
-------------------- Java Specialist Programmer
programming+bisnes logic=headche |
|
|
|
Mar 31 2008, 10:34 PM
Kiriman
#8
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
maksud ko camni ke?
try{ } catch{ } catch{ } camtu ke? |
|
|
|
Mar 31 2008, 10:49 PM
Kiriman
#9
|
|
|
Ahli Rajin ![]() ![]() ![]() ![]() Grup: Members Kiriman: 654 Penyertaan: 6-September 05 Dari: Ampang Ahli ke- 10,285 |
Kau nak run command banyak kali? Kenapa tak guna loop? Atau Map?
Kau cadang nak guna catch untuk bagi run berkali-kali ke? Jangan. Catch gunanya adalah untuk mengawal Exception. Kiranya kau rasa program kau boleh kena macam-macam Exception, dan untuk setiap exception kau ada cara berbeza untuk mengawalnya, maka boleh guna Catch berkali-kali. Dan jangan lupa untuk akhiri dengan Finally. Tapi kalau tujuan kau nak guna Catch berkali-kali adalah untuk buat program ni boleh run command banyak kali, silap dah tu. Memang salah tu. Gunakan loop / Array / Map, aku cadangkan ajek -------------------- Latest tutorial: [Java + Struts 2 + Log4j]: Simple Multi Selections Checkbox
http://blog.mohdrashidi.com/sources-for-share/2008/07/04/java-struts2-log4j-simple-multi-selection-checkbox.html |
|
|
|
Mar 31 2008, 11:29 PM
Kiriman
#10
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
mmm boleh bagi contoh sikit utuk masukkan array tu ...kalau map aku kurang paham sikit...tunjuk contoh array lah senang...boleh?
|
|
|
|
Apr 1 2008, 12:04 AM
Kiriman
#11
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
mmm boleh bagi contoh sikit utuk masukkan array tu ...kalau map aku kurang paham sikit...tunjuk contoh array lah senang...boleh?
|
|
|
|
Apr 1 2008, 06:45 AM
Kiriman
#12
|
|
|
Ahli Rajin ![]() ![]() ![]() ![]() Grup: Members Kiriman: 731 Penyertaan: 2-December 06 Dari: Paka ke Dungun Ahli ke- 21,529 |
Cam shidi cakap tu, ko guna loop la. Nak senang guna for loop.
-------------------- Java Specialist Programmer
programming+bisnes logic=headche |
|
|
|
Apr 1 2008, 10:04 PM
Kiriman
#13
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
sbnrnye mslh aku cmni...aku ada beberapa file...setiap satu file ada satu command untuk dijalankan...file tu aku dah create...contoh ada 5 file dan 5 command
a.dat , b.dat , c.dat , d.dat , e.dat so ada 5 command la...aku punya program mesti run setiap file ikut giliran...a - e ....macam code yang aku post sebelum ni...aku cuma dapat run file a.dat saja...yang lain tak jalan... ni yang aku nak tanya ni...kalau macam code ni kalau dah abis buat keje boleh close... BufferedWriter bw = new BufferedWriter; bw.close(); tapi kalau macam command ni lak camne nak close kan? Process process = Runtime.getRuntime().exec(command); sebab bila aku letak process.close() ...ada error la.... |
|
|
|
Apr 2 2008, 09:14 AM
Kiriman
#14
|
|
|
Ahli ![]() ![]() ![]() Grup: Members Kiriman: 467 Penyertaan: 22-May 04 Dari: Shah Alam Ahli ke- 679 |
CODE try { String[] command = {"sh", "tc qdisc add dev eth0 root handle 10: cbq bandwidth 100Mbit avpkt 1000"}; final Process pr = Runtime.getRuntime().exec(command); String[] command1 = {"sh", "tc class add dev eth0 parent 10:0 classid 10:1 cbq bandwidth 100Mbit rate \\ 100Mbit allot 1514 weight 10Mbit prio 8 maxburst 20 avpkt 1000"}; final Process pr1 = Runtime.getRuntime().exec(command1); } catch (IOException ex) { Logger.getLogger(NewClass1.class.getName()).log(Level.SEVERE, null, ex); } aku taknah try sebenarnya, tapi buat camni takleh? *edit: satu aku perasan, java.lang.Process ada destroy() function. taktau lak ape gunanya. Kiriman ini telah diubahsuai oleh MatchMaker: Apr 2 2008, 09:17 AM -------------------- Sony PSP Slim and Lite PSP-2006 PB
3.71 M33-2 > 3.71 M33-4 > 3.80 M33 > 3.80 M33-2 > 3.80 M33-3 > 3.80 M33-4 > 3.80 M33-5 > 3.90 M33-3 + 3.80 M33 Popsloader Canon Ixus 75 Compaq Presario V3751AU |
|
|
|
Apr 2 2008, 11:53 AM
Kiriman
#15
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
tkleh la camtu...taktau nape die tk run command kedua tu...tp pada logik aku la kan...kne ada satu bnda yang close commnd tu dulu....tp spatutnya tkde masalah la....sebab bila run manual mmg lepas run file pertama, boleh je terus run file kedua tu tanpa perlu keluar masuk terminal...takpa2 aku lagi cuba2....
|
|
|
|
Apr 2 2008, 01:27 PM
Kiriman
#16
|
|
|
Ahli Rajin ![]() ![]() ![]() ![]() ![]() Grup: Members Kiriman: 1,106 Penyertaan: 29-March 06 Dari: 46350 Ahli ke- 15,794 |
satu cadangan, dalam loop ko tu, cuba ko print/log something, macam
for(i=0;i<5;i++) { print i; Runtime.getRuntime.exec('cmd_ko'); just nak tengok sama ada loop ko jalan ke tak.. -- OR -- ko usha ni: java hashmap pastu 0. ko ubah value dalam hashmap tu ke command/filename ko 1. dalam loop, ko exec() -------------------- mint4(ubuntu7(debian(GNU/Linux2.6))) + XP-SP2@compaq_presario_v3010au
vista-home-basic + fc9(GNU/Linux2.6)@dell_inspiron_530s |
|
|
|
Apr 2 2008, 09:56 PM
Kiriman
#17
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
ok aku nk try hash map ni jap...tp ada masalah la...dalam loop ko nak aku masukkan command exec tu kan...tp camne nak masukkn...no sbhgian code hash map tu...
CODE Collection c = hMap.values(); //obtain an Iterator for Collection Iterator itr = c.iterator(); //iterate through HashMap values iterator while(itr.hasNext()) System.out.println(itr.next()); so aku akan gantikan baris println tu dengan benda ni.. Process pr = Runtime.getRuntime().exec(command); command tu aku nak masukkan apa?sebab bila aku masukkan itr.next() dah tentu ada masalah... CODE } catch (IOException ex) { Logger.getLogger(NewClass1.class.getName()).log(Level.SEVERE, null, ex); } *edit: satu aku perasan, java.lang.Process ada destroy() function. taktau lak ape gunanya. logger tu amende? nape die bagi error dalam netbean? |
|
|
|
Apr 3 2008, 09:08 AM
Kiriman
#18
|
|
|
Ahli ![]() ![]() ![]() Grup: Members Kiriman: 467 Penyertaan: 22-May 04 Dari: Shah Alam Ahli ke- 679 |
1) kat hashmap nyer tu, hMap.put ("key", "Runtime.getRuntime().exec(command)"); //command tu takyah buat variable, terus buat command dalam kurungan tu
nanti hanya value Runtime.getRuntime().exec(command); yang akan ada dalam collection tu. pastu boleh la Iterator guna. 2) abaikan je, tu pun netbeans aku yang generate. -------------------- Sony PSP Slim and Lite PSP-2006 PB
3.71 M33-2 > 3.71 M33-4 > 3.80 M33 > 3.80 M33-2 > 3.80 M33-3 > 3.80 M33-4 > 3.80 M33-5 > 3.90 M33-3 + 3.80 M33 Popsloader Canon Ixus 75 Compaq Presario V3751AU |
|
|
|
Apr 3 2008, 12:59 PM
Kiriman
#19
|
|
|
Ahli Rajin ![]() ![]() ![]() ![]() ![]() Grup: Members Kiriman: 1,106 Penyertaan: 29-March 06 Dari: 46350 Ahli ke- 15,794 |
CODE hMap.put(1,"ls -al"); hMap.put(2,"ping ww.google.com"); hMap.put(3,"ps"); Collection c = hMap.values(); Iterator itr = c.iterator(); while(itr.hasNext()) { Runtime.getRuntime().exec(itr.next()); } cenggitu, dalam map tu bubuh command2 ko nak.. -------------------- mint4(ubuntu7(debian(GNU/Linux2.6))) + XP-SP2@compaq_presario_v3010au
vista-home-basic + fc9(GNU/Linux2.6)@dell_inspiron_530s |
|
|
|
Apr 7 2008, 08:48 AM
Kiriman
#20
|
|
|
Ahli ![]() Grup: Members Kiriman: 47 Penyertaan: 23-December 04 Ahli ke- 4,670 |
laaa nape tk guna cmni...:
CODE try { String[] command1 = {"sh","a.txt"}; Process process1 = Runtime.getRuntime().exec(command1); int exitVal = process1.waitFor(); } catch (Throwable t) { t.printStackTrace(); } try { String[] command2 = {"sh","b.txt"}; Process process2 = Runtime.getRuntime().exec(command2); int exitVal = process2.waitFor(); } catch (Throwable t) { t.printStackTrace(); } yang ko tkleh run tu sbb ko tk tgu process pertama abs dlu...sblm process ptama abs, dn ko run command seterusnya...maka command yg lain2 tkkn jln dgn btl...so ko guna waitFor() tu...ia akn tgu proses sblmnye selesai baru diikuti oleh next process...ok? |
|
|
|
Apr 7 2008, 09:34 AM
Kiriman
#21
|
|
|
Ahli ![]() Grup: Members Kiriman: 39 Penyertaan: 17-November 07 Ahli ke- 38,456 |
ermm...nampaknya betul la apa yang ko bagi tu bakteria...dan aku dapat jalankan command2 tu semua...thanx so much....
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 12th October 2008 - 12:24 PM |




Mar 19 2008, 09:03 AM



