Làm thế nào tôi có thể bắt đầu một quá trình với bất kỳ tên nào mà không có gì?


13

Tôi muốn bắt đầu một quá trình không làm gì nhưng vẫn đang chạy. Giả sử tôi bắt đầu một quy trình được gọi sadhadxkvà khi tôi chạy, pgrep -x "sadhadxk"tôi sẽ lấy lại số PID, giống như bất kỳ quy trình thông thường nào hoạt động.

Vì vậy, có cách nào để bắt đầu một quá trình giả?

Câu trả lời:


11

Bạn có thể làm:

perl -MPOSIX -e '$0="sadhadxk"; pause' &

Nó nên đặt cả tên tiến trình và argv [0] trên các hệ thống được hỗ trợ vì vậy sẽ hiển thị sadhadxkở cả hai psps -fđầu ra, do đó phải được khớp bởi cả hai pgrep -xpgrep -fx.


9
> bash -c 'exec -a sadhadxk sleep 1000000' &

pgrep không hoạt động nhưng

> ps | grep '[s]adhadxk'
18931  [...] sadhadxk 1000000

Sửa: pgrepkhông hoạt động nhưng không chống lại tên lệnh (là tên của nhị phân đang chạy), chỉ chống lại dòng lệnh:

> pgrep -f sadhadxk
18931

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.