ฉันพยายามรันps -ef | grep java
ผ่านโปรแกรมจาวา นี่คือรหัสของฉัน -
// String sudoScript = "sh -c \"ps -ef | grep java\"";
String sudoScript = "ps -ef | grep java";
try {
System.out.println("command=" + sudoScript);
Process p1 = Runtime.getRuntime().exec(sudoScript);
System.out.println("exit code: "+p1.waitFor());
FileInputStream fis1 = (FileInputStream) p1.getErrorStream();
int content1;
while ((content1 = fis1.read()) != -1) {
// convert to char and display it
System.out.print((char) content1);
}
BufferedReader stdInput1 = new BufferedReader(
new InputStreamReader(p1.getInputStream()));
while ((sudoScript = stdInput1.readLine()) != null) {
System.out.println(sudoScript);
}
} catch (Exception e) {
e.printStackTrace();
}
นี่คือผลลัพธ์ที่ฉันได้รับเมื่อฉันรันคำสั่งเป็นps -ef | grep java
-
command=ps -ef | grep java
exit code: 1
ERROR: Garbage option.
********* simple selection ********* ********* selection by list *********
-A all processes -C by command name
-N negate selection -G by real group ID (supports names)
-a all w/ tty except session leaders -U by real user ID (supports names)
-d all except session leaders -g by session OR by effective group name
-e all processes -p by process ID
T all processes on this terminal -s processes in the sessions given
a all w/ tty, including other users -t by tty
g OBSOLETE -- DO NOT USE -u by effective user ID (supports names)
r only running processes U processes for specified users
x processes w/o controlling ttys t by tty
*********** output format ********** *********** long options ***********
-o,o user-defined -f full --Group --User --pid --cols --ppid
-j,j job control s signal --group --user --sid --rows --info
-O,O preloaded -o v virtual memory --cumulative --format --deselect
-l,l long u user-oriented --sort --tty --forest --version
-F extra full X registers --heading --no-heading --context
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
sh -c "ps -ef | grep java"
ฉันพยายามใช้ แต่ไม่โชคดี มีผลลัพธ์ต่อไปนี้ -
command=sh -c "ps -ef | grep java"
exit code: 1
-ef: -c: line 0: unexpected EOF while looking for matching `"'
-ef: -c: line 1: syntax error: unexpected end of file
ฉันจะเอาชนะสิ่งนี้ได้อย่างไร
1
ในกรณีที่คุณยังไม่ได้อ่านในศูนย์ช่วยเหลือ - คำถามเกี่ยวกับการเขียนโปรแกรมถือว่าเป็นหัวข้อที่นี่
—
slhck
@slhck ตกลง จะไม่เกิดขึ้นอีก ครั้งล่าสุดที่ฉันถามคำถามที่คล้ายกันใน Stackoverflow ฉันได้รับคำสั่งให้ถามที่นี่แม้ว่า .. คำถามคือ - superuser.com/questions/633611/…
—
AlwaysALearner
อันนี้เกี่ยวกับการเขียนโปรแกรม - "วิธีทำให้งานนี้เป็นจาวา"; อันนั้นเกี่ยวกับ command-line - "วิธีการทำให้ sudo ทำงานโดยไม่มี tty" มันเป็นเส้นบาง ๆ เมื่อเราผสมการเขียนโปรแกรมและคำสั่งภายนอก :) แต่แต่ละไซต์ก็ยังคงให้ความสำคัญกับมันหวังว่าคุณจะได้เรียนรู้ถึงความแตกต่างในไม่ช้า ^ _ ^
—
msb