Làm thế nào tôi có thể viết một Bash-script chạy một chương trình chạy dài và lưu trữ id tiến trình chương trình trong một tệp riêng biệt?
Tôi muốn một cái gì đó như
#!/bin/bash
exec long_running_tool
echo `ps af |grep "long_running_tool" |awk '$5 == "long_running_tool" {print $1}'` > pid_file
Tuy nhiên, làm chính xác điều này sẽ thực thi công cụps sau khi kết thúc.
Có cách nào để lấy id quá trình của quá trình được tạo không?
@ e-t172 cảm ơn bạn đã chỉ ra. Tôi xóa 'exec' rồi.
—
DerMike
Vui lòng xem Quản lý quy trình .
—
Tạm dừng cho đến khi có thông báo mới.
long_running_toolquy trình. Do đó, exec không bao giờ quay trở lại và dòng sau không bao giờ đạt được. Xemhelp exec,execve(2).