java如何获得系统环境变量和当前程序运行的进程号

java如何获得系统环境变量和当前程序运行的进程号,第1张

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10097987.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存