【问题标题】:Where can I find the command line of a process started by systemd so I can debug it?我在哪里可以找到由 systemd 启动的进程的命令行以便调试它?
【发布时间】:2016-02-21 23:52:49
【问题描述】:

当 systemd 启动守护程序 foo 时,它会根据以下消息失败,守护程序会抱怨使用了无效的命令行选项(通过“journalctl -xe”)。

Feb 21 23:46:05 localhost systemd[1]: Starting The Foo Server...
-- Subject: Unit foo.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit foo.service has begun starting up.
Feb 21 23:46:05 localhost food[6709]: Usage: /usr/sbin/food [options]

如何让 systemd 记录正在使用的命令行以便可以调试此错误?

【问题讨论】:

    标签: systemd


    【解决方案1】:

    如果您将 systemd 的日志记录配置为“调试”级别,您会看到如下消息:

    "abc.service: Executing /bin/true arg arg arg"
    

    LogLevel=debug 就够了。看看https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html

    应用更改的最简单方法是重新启动 systemd。

    【讨论】:

    • 我将“LogLevel=debug”添加到/etc/systemd/systemd.conf,并使用“systemctl daemon-reexec”重新启动systemd。这显示了命令行,但是在其他调试行中很难找到该行(它肯定在那里)。这对我有用,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2013-10-03
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多