Có thể thực hiện thủ công một đơn vị dịch vụ được ghép nối theo thời gian systemd cho mục đích thử nghiệm không?


21

Tôi có bộ hẹn giờ / đơn vị dịch vụ nên chạy mỗi ngày một lần trong các --userđiều kiện. Nó xuất hiện với systemctl --user statusvà được đăng nhập vào tạp chí nhưng có một phần lệnh bị lỗi.

Có vẻ như một cái gì đó trong lệnh không được giải thích chính xác. Tôi muốn futz với tệp đơn vị và chạy dịch vụ, kiểm tra nhật ký, vv để gỡ lỗi vấn đề; tuy nhiên, việc chỉnh sửa bộ đếm thời gian để kích hoạt một phút trong tương lai, chờ đợi và kiểm tra nhật ký là ... tẻ nhạt.

Có thể làm một cái gì đó giống như systemctl --user execute xxxxxx.servicechỉ chạy điều dang như thể kích hoạt bộ đếm thời gian?

Câu trả lời:


12

Bạn có thể kích hoạt bất kỳ đơn vị nào theo cách thủ công, trừ khi nó chứa một RefuseManualStart=yesvà / hoặc RefuseManualStop=yeschỉ thị (thực hiện chính xác những gì họ nói). Chỉ cần vấn đề systemctl --user start <whatever>(và systemctl --user stop <whatever>để làm ngược lại).

Để trích dẫn systemctl (1) :

bắt đầu THỰC HIỆN ...

Bắt đầu (kích hoạt) một hoặc nhiều đơn vị được chỉ định trên dòng lệnh.

<...>

dừng MẪU ...

Dừng (hủy kích hoạt) một hoặc nhiều đơn vị được chỉ định trên dòng lệnh.


Không hoạt động ở đây:Failed to restart {foo}.service: Operation refused, unit {foo}.service may be requested by dependency only.
eMPee584

1
@ eMPee584 Vì câu trả lời này đã được viết, systemd đã nhận được các chỉ thị mới RefuseManualStart=RefuseManualStop=(thực hiện chính xác những gì họ nói). Tôi đã cập nhật câu trả lời của mình để đề cập đến điều đó.
intelfx
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.