tôi đã kịch bản bash sau, chúng ta có thể gọi nó là script1.sh
:Cách kiểm tra xem công việc nền có còn hoạt động không? (Bash)
#!/bin/bash
exec ./script2.sh &
sleep 5
if job1 is alive then #<--- this line is pseudo-code!
exec ./script3.sh &
wait
fi
Như có thể thấy, kịch bản thực thi script2.sh
như một công việc nền và sau đó chờ 5 giây (để script2.sh
thể làm một số khởi tạo đồ đạc). Nếu khởi tạo thành công, công việc script2.sh
sẽ vẫn còn hoạt động, trong trường hợp này tôi cũng muốn bắt đầu script3.sh
đồng thời; nếu không, tôi chỉ muốn bỏ thuốc lá.
Tuy nhiên, tôi không biết cách kiểm tra xem công việc đầu tiên có còn hoạt động hay không, do đó là dòng mã giả. Vì vậy, những gì nên đi vào vị trí của nó?
Nhân viên điều hành chạy sẽ không làm những gì bạn nghĩ. Nó sẽ thay thế quy trình hiện tại bằng một quy trình mới; các dòng sau trong tập lệnh của bạn sẽ không đạt được. –