Topic: 求教java exec(String comm); |
Print this page |
1.求教java exec(String comm); | Copy to clipboard |
Posted by: skwujinhua Posted on: 2008-11-27 17:37 import java.io.*; public class shell { public static void main(String [] args) throws Exception { { try{ Process pro = Runtime.getRuntime().exec("/bin/sh service ntpd stop"); ImputStreamReader ir = new ImputStreamReader(Proc .getInputStream()); LineNumberReader imput = new LineNumberReader (ir); /********************************/ pro.waitFor(); /*******************************/ } } } 該程序單獨執行可以停止ntpd服務﹐但是如果把它放到一個排程里﹐一個小時執行一次就不行了。讓我百思不得其解。高手給我點提示﹐謝謝。不勝感激。 |
2."緣"來如此 [Re: skwujinhua] | Copy to clipboard |
Posted by: skwujinhua Posted on: 2008-12-02 08:17 哈哈。。。。我知道咋回事了。 將exec("/bin/sh service ntpd stop"); 改成exec("/bin/sh etc/init.d ntpd stop"); 這樣放到排程里面就可以了。哈哈哈。。。。OY |
3.Re:求教java exec(String comm); [Re: skwujinhua] | Copy to clipboard |
Posted by: JiafanZhou Posted on: 2008-12-08 19:39 The problem is that the Linux cannot find the correct command. ?? is it not exec("/bin/sh /etc/init.d/ntpd stop")??? Glad to hear that the code is working correctly. Jiafan |
4.Re:求教java exec(String comm); [Re: skwujinhua] | Copy to clipboard |
Posted by: skwujinhua Posted on: 2008-12-27 14:43 當手動運行程序時﹐系統當前的路徑就是運行程序時候的路徑﹐而將程序放到系統排程中運行時﹐系統當前的路徑就變成了系統路徑。 比如﹕如果我的程序放在/usr下面﹐手動運行時﹐路徑就是/usr 如果放在排程中運行,那么當前的路徑就成了系統路徑﹐/root 就會找不到shell命令﹐而使用/bin/sh/etc/init.d則解決了。這几天才想到的。 還得對init.d再研究下。希望對兄弟們有幫助﹐謝謝Jiafan Zhou |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |