ฉันจะฆ่ากระบวนการตามอาร์กิวเมนต์บรรทัดคำสั่งได้อย่างไร
killall
, pgrep
และpkill
ดูเหมือนว่าจะใช้งานได้ตามชื่อกระบวนการเท่านั้น
ฉันต้องการสิ่งนี้เพื่อให้สามารถแยกแยะความแตกต่างระหว่างจำนวนของแอปพลิเคชันที่ทำงานภายใน Java virtual machine ซึ่งjava
เป็นชื่อกระบวนการสำหรับพวกเขาทั้งหมดและชื่อแอปพลิเคชันที่แท้จริงสามารถพบได้โดยดูที่อาร์กิวเมนต์บรรทัดคำสั่ง
สิ่งนี้สามารถทำได้ด้วยตัวเองps aux | grep myapp.jar
แล้วฆ่า pid จากเอาต์พุตด้วยตนเอง แต่ฉันต้องการให้คำสั่งทำสิ่งที่เทียบเท่าโดยอัตโนมัติ
bash: syntax error near unexpected token ';'
... มันทำงานในคำสั่งcaseเมื่อตามด้วยเครื่องหมาย ampersand;;
... อาจ คุณกำลังใช้เปลือกที่แตกต่างกัน (?)