Tôi có một cấu hình mới nhất cho một dịch vụ cần kiểm tra sự tồn tại của một quá trình khi khởi động. Điều này nghe có vẻ khá dễ dàng nhưng tôi đã cố gắng trong 3 giờ để giải quyết vấn đề này và tôi đã lạc lối. Vấn đề dường như là một số câu lệnh grep dẫn đến việc thoát khỏi tập lệnh trong khi mới bắt đầu, dẫn đến thất bại trong việc bắt đầu dịch vụ. Nhưng mới bắt đầu không đăng nhập bất cứ điều gì, nó chỉ thoát khỏi tập lệnh và biến mất.
Sau đây là một số dòng ví dụ gây ra sự cố: Tiếng vang đầu tiên và đầu ra của grep được ghi lại, tiếng vang thứ hai được ghi lại, nhưng không phải là đầu ra của grep. Sau tiếng vang thứ hai, khởi động lại, thoát khỏi tập lệnh và dừng lại. Vấn đề là thêm tùy chọn -v hoặc một cái gì đó khác như sử dụng các lớp regrec như [[: chữ số:]]. Có vẻ như tôi cần phải thoát khỏi một số nhân vật nhưng đơn giản là tôi không biết làm thế nào. Một -v đơn giản hoặc một cái gì đó như thế không hoạt động.
script
echo grep
ps ax | grep "postgres: wal writer process" | grep "grep"
echo grep2
ps ax | grep "postgres: wal writer process" | grep -v "grep"
end script
Có ai có ý tưởng về những gì tôi đang làm sai và cách khắc phục vấn đề không?