我有一个ant任务,在其中我想得到当前进程id(echo $PPID来自命令行的la ).
我ksh在Solaris上运行,所以我想我可以这样做:
<property environment="env" />
<target name="targ">
<echo message="PID is ${env.PPID}" />
<echo message="PID is ${env.$$}" />
</target>
Run Code Online (Sandbox Code Playgroud)
但那没用; 变量没有被替换.事实证明PPID,SECONDS和某些其他env变量不会成为Ant的表示.
接下来我试试这个:
<target name="targ">
<exec executable="${env.pathtomyfiles}/getpid.sh" />
</target>
Run Code Online (Sandbox Code Playgroud)
getpid.sh 看起来像这样:
echo $$
Run Code Online (Sandbox Code Playgroud)
这让我得到了生成的shell脚本的PID.更接近,但不是我真正需要的.
我只想要我当前的进程ID,所以我可以在名称中创建一个具有该值的临时文件.有什么想法吗?
我有一个dotnet核心1.1 web-api,它使用ILogger登录到控制台.如果我在azure控制台中打开监控/诊断日志下的应用程序日志记录(Blob)选项,则会拾取这些日志并将其发送到基于(appname)/ month/day/hour的Blob.这很好用.
但是,我的webjob使用相同的ILogger和相同的配置没有输出到这些mm/dd/hh目录.
如果我打开应用程序日志(文件系统),我会看到我的日志,但我真的希望它们转到相同的blob存储位置,所以我可以在Splunk中选择它们.
我哪里错了?