Tôi hiện có một quy tắc Makefile như sau:tiết kiệm PID của quá trình sinh ra trong một Makefile
start:
./start.sh
mà bắt đầu một máy chủ rất đơn giản cần thiết như là một phần của quá trình xây dựng. Tôi có một quy tắc cho dừng máy chủ:
stop:
kill `cat bin/server.PID`
đây là kịch bản start.sh:
#!/bin/bash
cd bin
python server.py &
echo $! > server.PID
NB server.py phải được chạy từ bên trong thư mục bin
Tôi muốn muốn thực hiện chức năng của start.sh trong nguyên tắc bắt đầu, tôi đã thử nhiều thứ nhưng dường như không thể lấy được PID.
- $$! dường như không trả lại gì cho tôi, tôi sẽ nhìn lại! –
điển hình hoạt động ngay bây giờ! Tôi không thể nhìn thấy cuộc sống của tôi những gì tôi đã làm sai trước đây! - Cảm ơn! –
Có thể bắt được rằng '$!' Là một biến hệ vỏ, không phải là biến biến (chẳng hạn như '$ @' hoặc '$ <'), và do đó bạn phải nhân đôi '$'. – reinierpost