$ ps aux | grep -i ssh
USER 4364 0.0 0.0 9004 1032 ? Ss 12:20 0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS
$ pgrep localhost:4000
ทำไมมันไม่ทำงาน
$ ps aux | grep -i ssh
USER 4364 0.0 0.0 9004 1032 ? Ss 12:20 0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS
$ pgrep localhost:4000
ทำไมมันไม่ทำงาน
คำตอบ:
โดยค่าเริ่มต้นpgrep(1)
จะจับคู่กับชื่อกระบวนการเท่านั้น หากคุณต้องการจับคู่กับบรรทัดคำสั่งแบบเต็มให้ใช้-f
ตัวเลือก:
$ pgrep -f localhost:4000
มีลักษณะที่เป็นหน้าคนสำหรับ pgrep มันไม่ได้เป็นเพียงนามแฝงสำหรับการเรียกใช้ ps ด้วยคอลัมน์จำนวนมากจากนั้นจึงพิมพ์ข้อความออกมา จริง ๆ แล้วมันค้นหาเขตข้อมูลเฉพาะสำหรับค่า โดยค่าเริ่มต้นก็มีลักษณะที่ชื่อกระบวนการเมื่อทำการค้นหาและส่งกลับPID คุณสามารถค้นหาบรรทัดคำสั่งแบบเต็มได้โดยการเพิ่ม-f
ตัวเลือก คุณยังสามารถค้นหาฟิลด์อื่น ๆ ที่อาจมีประโยชน์เช่นการจับคู่เทอร์มินัลที่กระบวนการกำลังทำงานอยู่หรือรหัสกลุ่ม