Tôi có Launch Daemon đang chạy, vui vẻ đăng nhập vào một vài tệp được chỉ định bằng các Standard(Error|Out)Path
mục trong tệp danh sách thuộc tính.
Bây giờ, vấn đề là chương trình cụ thể đang chạy không bao gồm dấu thời gian khi ghi nhật ký tin nhắn. Do đó, các tệp nhật ký hiển thị một danh sách dài các thông báo hữu ích khác, được ghi lại vào khoảng thời gian từ bây giờ đến bất cứ khi nào .
Có cách nào để bao gồm dấu thời gian cho những tin nhắn này không? Ví dụ: có một tùy chọn mà tôi có thể đặt ở đâu đó hoặc chương trình mà tôi có thể định tuyến các tin nhắn này qua (sẽ rất đơn giản để viết, nhưng cách định tuyến này sẽ hoạt động như thế nào)?
Tùy thuộc vào tần suất của thông điệp tường trình và bộ đệm được áp dụng để ghi nhật ký, một tập lệnh đơn giản để ghi dấu thời gian vào tệp nhật ký mỗi phút có thể là đủ.
—
nohillside
Vâng, đó là cách tôi đã làm nó trong thời gian đó. Cảm ơn, ma trận! Ngoài ra, tôi đang tìm kiếm một thứ UNIX-y nơi bạn có thể viết vào tập lệnh như thể một tập tin, nhưng để tập lệnh xử lý đầu vào thay thế.
—
Bastiaan M. van de Weerd
Để tham khảo trong tương lai, có vẻ như điều này là có thể bằng cách sử dụng một ống có tên , có thể được tạo như một đối tượng giống như tệp trong hệ thống tệp bằng
—
Bastiaan M. van de Weerd
mkfifo mypipe
lệnh. Sau khi tạo, đọc từ nó với ví dụ. cat < path/to/mypipe
và viết thư cho nó (thử trong cửa sổ terminal khác) với vd. echo 'Foo!' > path/to/mypipe
. (NB. Tự động hỏng đã làm hỏng lời cảm ơn của tôi trong bình luận trước. Xin lỗi về điều đó, patrix ...)
Ngoài ra, thay vì sử dụng đường ống có tên, chương trình plist LaunchDaemon có thể chạy các lệnh shell phức tạp bằng cách sử dụng
—
Bastiaan M. van de Weerd
bash -c [shell command]
. Lệnh này có thể chứa chuyển hướng, đường ống và mọi thứ. Do đó, tôi đã có thể dẫn đầu ra của chương trình đầu tiên thông qua một tập lệnh có thêm dấu thời gian. (Câu trả lời được tìm thấy trong câu hỏi khác này .)