jvm选项-Xloggc与systemd.unit中的%p给出错误的日志文件名

时间:2018-11-22 12:56:51

标签: java systemd

我有一个要使用以下选项运行的Java进程:

-Xloggc:/var/log/mylog_%p.gc.log

,以便日志文件的名称包含PID。例如,如果进程具有PID 3498,则日志文件名称为/var/log/mylog_pid3498.gc.log。 我希望Java进程由系统单元文件启动。 单位文件为:

[Service]
User=ubuntu
Type=simple
WorkingDirectory=/home/ubuntu/my_code
ExecStart=/usr/bin/java -Xloggc:/var/log/mylog_%%p.gc.log -jar my_code.jar
Restart=always

请注意,我已使用%%字符转义了%。但是,由于我得到的日志文件名称为/var/log/mylog_%p.gc.log,所以这不能给出预期的结果,即Java无法用实际的PID替换%p

有什么主意吗?谢谢!

操作系统:

Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-1066-aws x86_64)

Java版本:

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

系统版本:

systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN

0 个答案:

没有答案