Làm cách nào để xóa lỗi sau:
systemd: Failed at step USER spawning /usr/sbin/opendkim: No such process
Nó xảy ra khi tôi cố gắng bắt đầu dịch vụ opendkim trên Centos.
Làm cách nào để xóa lỗi sau:
systemd: Failed at step USER spawning /usr/sbin/opendkim: No such process
Nó xảy ra khi tôi cố gắng bắt đầu dịch vụ opendkim trên Centos.
Câu trả lời:
Tôi vừa gặp phải vấn đề này và trong trường hợp của tôi, nguyên nhân là do trích dẫn tên người dùng trong tệp dịch vụ của tôi:
[Unit]
Description=Demonstrate Failed at step USER spawning ...: No such process error when user name is quoted
[Service]
User="tadeusz"
ExecStart=/bin/echo hello
[Install]
WantedBy=multi-user.target
Bắt đầu dịch vụ này trên Ubuntu 16.04.2 LTS (ví dụ Amazon EC2) sẽ không thành công với lỗi sau:
user-example.service: Failed at step USER spawning /bin/echo: No such process
Thật thú vị, trên Ubuntu Gnome 17.04 (máy cục bộ của tôi), thông báo lỗi hữu ích hơn nhiều:
[/etc/systemd/system/user-example.service:5] Invalid user/group name or numeric ID, ignoring: "tadeusz"
Xóa dấu ngoặc kép trong cả hai môi trường đã giải quyết vấn đề:
[Service]
User=tadeusz
User=tomcat
những gì tôi đã sao chép từ bài đăng trên blog. Bây giờ nó hoạt động tốt :)
Kiểm tra xem bản ghi sau có tồn tại trong tệp cấu hình của opendkim
:
## Attempt to become the specified user before starting operations.
UserID opendkim:opendkim
Đối với tôi với thông báo lỗi đó, hóa ra tôi đã chỉ định "Người dùng = root" chứ không phải "Nhóm = xx", vì vậy khi tôi chỉ định cả hai thì nó đã sửa:
User=root
Group=root
vì vậy, thêm Group=root
hoặc loại bỏ cả Người dùng và Nhóm, như được đề xuất trong câu trả lời của jmunsch, đã sửa nó. Có một số loại vấn đề cho phép thư mục mà không chỉ định Nhóm.
Tôi đoán nếu bạn chỉ định một Người dùng thì nó không sử dụng Nhóm mặc định, mà tôi đoán cũng là root? Có ý nghĩa ...
Cập nhật, chạy vào tin nhắn này một lần nữa, không liên quan, nhưng chỉ khi khởi động, bắt đầu bằng tay, nó bắt đầu tốt.
Linh cảm của tôi là nó được gây ra bởi "thư mục hoạt động" (trong đó hộp đặc biệt này nhận được một số tên người dùng và nhóm của nó) chưa được khởi tạo đầy đủ, vì vậy, thêm một
After=vasd.service
Có vẻ như đã sửa nó bằng cách làm cho nó bắt đầu đủ muộn. After=mnt-share.mount
dường như cũng giải quyết được vấn đề, nhưng tôi nghĩ có thể bởi vì nó chỉ xảy ra để "chờ đủ lâu" hoặc một cái gì đó.
systemctl status xxx
nói:
Process: 5017 ExecStart=/home/user/bin/xx (code=exited, status=217/USER)
Nó cũng hữu ích, bất kể tin nhắn, để kiểm tra journalctl
bất kỳ nhật ký hoặc bất kỳ dấu hiệu nào về những gì có thể đã sai. Nếu đó là "217 / NGƯỜI DÙNG" thì nó sẽ không hiển thị nhiều trong đó để chẩn đoán nhưng đối với mọi thứ khác, nó có thể có thông tin siêu hữu ích.
Đối với tôi, thông báo lỗi này là do không tải lại SystemD sau khi cập nhật systemd. Vì vậy, chạy # systemctl daemon-reload
hoặc khởi động lại máy tính của bạn.
sudo systemctl daemon-reload
nên là đủ
nobody
và nhómnogroup
: stackoverflow.com/questions/4681067/iêu