
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% 返回当前登录的用户的名称。
用AIP "GetWindowThreadProcessId" 版本 2
支持库 eAPI
支持库 spec程序集 窗口程序集1子程序 __启动窗口_创建完毕
局部变量 QQ窗口, 整数型
局部变量 进程, 进程信息
局部变量 iD, 整数型QQ窗口 = 取窗口句柄_ (0, “QQ2011”)
iD = 取窗口进程 (QQ窗口, 进程)'易语言精英 团队解答
调试输出 (iD)
版本 2
支持库 eAPIDLL命令 取窗口进程, 整数型, "user32", "GetWindowThreadProcessId", , 返回创建者的标志符。
参数 窗口句柄, 整数型, , 被查找窗口的句柄
参数 进程号, 进程信息, , 进程号的存放地址(变量地址)DLL命令 取窗口句柄_, 整数型, "user32", "FindWindowA"
参数 类名, 整数型
参数 标题, 文本型
在Linux下,可以有两种比较方便的方法: 1 # pstree 通过系统的进程树来查看某个进程的父进程; 2 # ps -ef |grep 在显示的输出中,第三列就是该进程的父进程PID,然后可以再使用ps命令来查看父进程的名称 # ps -ef |grep 这应该就是你想要的
序号 列名 含义
A PID 进程id
B PPID 父进程id
C RUSER Real user name
D UID 进程所有者的用户id
E USER 进程所有者的用户名
F GROUP 进程所有者的组名
G TTY 启动进程的终端名。不是从终端启动的进程则显示为
H PR 优先级
I NI nice值。负值表示高优先级,正值表示低优先级
J P 最后使用的CPU,仅在多CPU环境下有意义
K %CPU 上次更新到现在的CPU时间占用百分比
L TIME 进程使用的CPU时间总计,单位秒
M TIME+ 进程使用的CPU时间总计,单位1/100秒
N %MEM 进程使用的物理内存百分比
O VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
P SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
Q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
R CODE 可执行代码占用的物理内存大小,单位kb
S DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
T SHR 共享内存大小,单位kb
U nFLT 页面错误次数
V nDRT 最后一次写入到现在,被修改过的页面数。
W S 进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
X COMMAND 命令名/命令行
Y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
Z Flags 任务标志,参考 schedh
我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。
当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。
在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。
在bash中,子shell进程的PID存储在一个特殊的变量‘$$’中。这个变量只读,你不可以在脚本中修改它。比如:
#!/bin/bash
echo "PID of this script: $$"
上面的脚本会得到下面的输出:
PID of this script: 6583
除了$$, bash shell还会导出其他的只读变量。比如,PPID存储子shell父进程的ID(也就是主shell)。UID存储了执行这个脚本的当前用户ID。比如:
#!/bin/bash
echo "PID of this script: $$"
echo "PPID of this script: $PPID"
echo "UID of this script: $UID"
输出是:
PID of this script: 6686
PPID of this script: 4656
UID of this script: 1000
上面输出中,PID每次执行都会变化。这个因为每次运行都会创建一个新的shell。另一方面,PPID每次都会一样只要你在同一个shell中运行。
对于所有bash内置变量列表,参考man页。
$ man bash
以上就是关于java如何获得系统环境变量和当前程序运行的进程号全部的内容,包括:java如何获得系统环境变量和当前程序运行的进程号、易语言怎么获取指定窗口的进程ID和线程ID呢求助!在线等、如何通过子进程号得到父进程号,不通ps等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)