次のエラーを取り除くにはどうすればいいですか?
systemd: Failed at step USER spawning /usr/sbin/opendkim: No such process
Centosでopendkimサービスを開始しようとすると発生します。
私はこれに遭遇したばかりで、私の場合は、サービスファイル内の ユーザー名を引用している が原因でした。
[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
Ubuntu 16.04.2 LTS(Amazon EC2インスタンス)でこのサービスを開始すると、次のエラーで失敗します。
user-example.service: Failed at step USER spawning /bin/echo: No such process
興味深いことに、Ubuntu Gnome 17.04(私のローカルマシン)では、エラーメッセージはもっと役に立ちます。
[/etc/systemd/system/user-example.service:5] Invalid user/group name or numeric ID, ignoring: "tadeusz"
両方の環境で引用符を削除すると問題が解決しました。
[Service]
User=tadeusz
opendkim
の設定ファイルに以下のレコードが存在するか確認してください。
## Attempt to become the specified user before starting operations. UserID opendkim:opendkim
私の場合、私はroot
をユーザーとグループとして使用しようとしました。
削除しました:
User=root
Group=root
両方を指定したときに、グループではなく「User = root」を指定していたことが判明しました:
User=root
Group=root
そのため、jmunschの答えで示唆されているように、Group=root
を追加するか、ユーザーとグループの両方を削除することで修正しました。これは、グループを指定せずに、ある種のディレクトリ権限の問題でした。
ユーザーを指定すると、デフォルトのグループは使用されませんが、これもルートであると思われますか?理にかなっている...
更新、これに再び関係なく、無関係に実行されましたが、ブート時にのみ、手動で起動して正常に起動しました。
私の考えでは、「Active Directory」(この特定のボックスはユーザー名とグループの一部を取得する)がまだ完全に開始されていないことが原因であるため、
After=vasd.service
十分に遅く開始することで修正したようです。 After=mnt-share.mount
もこの問題を回避しているように見えますが、たぶんそれがたまたま「十分に待つ」か何かのためだったと思います。
systemctl status xxx
言った:
Process: 5017 ExecStart=/home/user/bin/xx (code=exited, status=217/USER)
メッセージに関係なく、journalctl
でログや問題の兆候を確認することも役立ちます。 「217/USER」の場合、診断にはあまり表示されませんが、他のすべてについては非常に役立つ情報が得られます。
私にとっては、間違ったユーザー名を使用するという単純な問題でした。正しいユーザーを使用していることを確認してください[Service] User=tadeusz
それからSytemDをリロードしますSudo systemctl daemon-reload
私にとっては、このエラーメッセージはsystemdを更新した後にSystemDをリロードしなかったことが原因でした。 # systemctl daemon-reload
を実行するか、コンピュータを再起動してください。