Đây là những gì tôi cần phải xảy ra:
- bắt đầu quá trình A trong nền
- chờ trong x giây
- bắt đầu quá trình B ở phía trước
Làm thế nào tôi có thể làm cho sự chờ đợi xảy ra?
Tôi đang thấy rằng 'giấc ngủ' dường như dừng mọi thứ lại và tôi thực sự không muốn 'chờ đợi' để quá trình A hoàn thành. Tôi đã thấy một số vòng lặp dựa trên thời gian nhưng tôi tự hỏi nếu có cái gì đó sạch hơn.
sleep
dừng quá trình-A? Bạn có thể hiển thị quá trình kiểm tra bạn đang sử dụng, hoặc chỉ ra đầu ra của điều này? Nếu tiến trình A đang tạm dừng, nhiều khả năng nó đang cố đọc từ thiết bị đầu cuối trong khi chạy ở chế độ nền và bị tạm dừng vì lý do đó, hơn là bất cứ điều gì liên quan sleep
.
process_a </dev/null &
sẽ đính kèm stdin của nó /dev/null
chứ không phải TTY, và điều đó có thể đủ để tránh vấn đề.