简单的来说就是分为两步:
获取进程ID:ps -ef | grep 进程名
输出进程环境变量:cat /proc/pid(进程ID)/environ
你可以多看看《Iinux 就改这么学》这本书,很多都是很基础的,希望可以帮到你啊
import javautil;
import javaio;
class SysProb
{
//返回当前系统变量的函数,结果放在一个Properties里边,这里只针对win2k以上的,其它系统可以自己改进
public Properties getEnv() throws Exception
{
Properties prop=new Properties();
String OS = SystemgetProperty("osname")toLowerCase();
Process p=null;
if(OSindexOf("windows")>-1)
{
p=RuntimegetRuntime()exec("cmd /c set"); //其它的 *** 作系统可以自行处理, 我这里是win2k
}
BufferedReader br=new BufferedReader(new InputStreamReader(pgetInputStream()));
String line;
while((line=brreadLine())!=null)
{
int i=lineindexOf("=");
if(i>-1)
{
String key=linesubstring(0,i);
String value=linesubstring(i+1);
propsetProperty(key,value);
}
}
return prop;
}
//具体用法
public static void main(String[] args)
{
try
{
SysProb sp=new SysProb();
Properties p=spgetEnv();
Systemoutprintln(pgetProperty("Path")); //注意大小写,如果写成path就不对了
}
catch(Exception e)
{
Systemoutprintln(e);
}
}
}
其他类型:
%COMPUTERNAME% 返回计算机的名称。
%COMSPEC% 返回命令行解释器可执行程序的准确路径。 %WINDIR% 返回 *** 作系统目录的位置。
%OS% 返回 *** 作系统的名称。Windows 2000 将 *** 作系统显示为 Windows_NT。 %PATH% 指定可执行文件的搜索路径。
%USERDOMAIN% 返回包含用户帐户的域的名称。 %USERNAME% 返回当前登录的用户的名称。
PROCESS_INFORMATION里不是有个hProcess 是你建立进程的句柄
WaitForSingleObject(那个句柄, INFINITE)等待进程结束
GetExitCodeProcess(那个句柄, &用来获取返回值的变量)
1、这是个进程间通信的问题。
2、进程间通信有多种方式,像信号量、管道、共享内存、文件交互、Socket通信等。
3、你说的调用参数变量,也就是共享下变量,可以通过文件存储来相互读取、或是socket来通信,给指下方向,具体的可以再细查下吧。
如果是py文件中的全局变量,只要import那个py文件,就可以访问了。
如果是class中的成员变量,则要通过class来进行访问(静态或非静态)。
如果是函数中的临时变量,一般是无法直接访问的,除非是以闭包的形式间接地访问。
以上就是关于linux系统下如何查看一个进程的环境变量全部的内容,包括:linux系统下如何查看一个进程的环境变量、java如何获得系统环境变量和当前程序运行的进程号、启动另一个进程,并获取进程结束时的返回值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)