我有一个要使用以下选项运行的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