- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个新手问题,所以请原谅我,我是新手。在发帖之前,我检查了互联网上的所有 x 十亿页,但没有回答我的具体问题。好吧,不是真的,但是这已经是四个小时的办公 table 打卡时间了,所以我觉得现在是尊重 SE 用户群庞大且看似包罗万象的知识的好时机。所以,事不宜迟...这是我的问题。
如上所述,我正在使用 bash (OSX) 和 Java,并尝试让脚本通过进程构建器(和/或 Java 运行时)运行,其运行方式与在单独的外壳。
例如,如果我编写一个包含以下代码的 shell 脚本 (.sh):
“#!/bin/bash”
“顶部 >/Users/NN2/Desktop/test.txt”
文件运行良好,并创建了预期的输出。但是,如果我执行以下操作:
(仅在示例中排除 try/catch)
ProcessBuilder builder = new ProcessBuilder(new String[]{"/bin/sh","/Users/NN2/Desktop/configure.sh"});
或
Runtime.getRuntime().exec("/Users/NN2/Desktop/configure.sh");
要么没有任何反应,要么出现原始版本的截断版本,其中不包含#MREG信息。除了上面的两个例子之外,我还尝试了看似详尽的其他变体列表,但它总是相同的,要么被截断,要么什么都没有。此外,这个问题似乎只与“top”命令有关,因为我尝试过的大多数其他命令确实有效(例如:ls、ef aux 等)。
我读到其他人在 Java 中使用 top 命令时遇到了权限问题,但是,我在其他几个安装中使用了 chmod 命令,因此这可能也不是问题的原因。但是,如果是,那么肯定是由于不知道哪些文件需要 chmod'ed。
此外,如果除了我正在做的事情之外还有其他方法可以找到我需要的信息,请告诉我们。最后,我只是希望在做其他事情之前能够使用java来检查我的计算机上正在运行哪些进程,以及它们使用了多少内存(以告诉程序何时完成加载)。不同的文件大小在不同的持续时间内打开,因此 thread.sleep 命令是我不想使用的解决方法。
谢谢
最佳答案
我厌倦了......
ProcessBuilder pb = new ProcessBuilder("top", "-l", "1");
pb.redirectError();
try {
Process p = pb.start();
InputStream is = p.getInputStream();
int value = -1;
while ((value = is.read()) != -1) {
System.out.print(((char)value));
}
int exitCode = p.waitFor();
System.out.println("Top exited with " + exitCode);
} catch (IOException exp) {
exp.printStackTrace();
} catch (InterruptedException ex) {
Logger.getLogger(JavaApplication256.class.getName()).log(Level.SEVERE, null, ex);
}
它输出类似...
PID COMMAND %CPU TIME #TH #WQ #PORTS MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH CSW PAGEINS IDLEW POWER USER #MREGS RPRVT VPRVT VSIZE KPRVT KSHRD
96500 USBAgent 0.0 00:00.02 2 1 34+ 380K+ 0B 720K+ 96500 1 sleeping *0[1+] 0.00000 0.00000 501 2044+ 135+ 151+ 55+ 786+ 310+ 287+ 0 9 0.0 ... N/A N/A N/A N/A N/A N/A
96499 smd 0.0 00:00.01 2 1 19+ 8192B+ 0B 808K+ 96499 1 sleeping *0[1+] 0.00000 0.00000 0 1066+ 110+ 73+ 30+ 430+ 158+ 146+ 0 3 0.0 ... N/A N/A N/A N/A N/A N/A
84070 DiskUnmountWatch 0.0 00:00.02 2 1 25+ 8192B+ 0B 852K+ 84070 1 sleeping 0[0] 0.00000 0.00000 501 1290+ 115+ 201+ 95+ 1840+ 313+ 367+ 0 5 0.0 ... N/A N/A N/A N/A N/A N/A
83951 ath 0.0 00:11.89 6 0 52+ 4104K+ 0B 24M+ 83850 83850 sleeping *0[14+] 0.00000 0.00000 501 14309+ 152+ 7429+ 3385+ 246813+ 40467+ 104382+ 47+ 821 0.0 ... N/A N/A N/A N/A N/A N/A
83930 com.apple.iTunes 0.0 00:26.91 2 1 45+ 9736K+ 0B 76M+ 83930 1 sleeping *0[6+] 0.00000 0.00000 501 101584+ 149+ 742302+ 278377+ 1094603+ 464425+ 387242+ 49+ 15 0.0 ... N/A N/A N/A N/A N/A N/A
83911 AppleMobileDevic 0.0 00:00.14 3 0 47+ 24K+ 0B 4500K+ 83850 83850 sleeping *0[10+] 0.00000 0.00000 501 3416+ 202+ 677+ 298+ 3344+ 1005+ 1292+ 71+ 21 0.0 ... N/A N/A N/A N/A N/A N/A
83907 com.apple.MediaL 0.0 02:04.68 2 0 85+ 60M+ 0B 75M+ 83907 1 sleeping *0[41+] 0.00000 0.00000 501 215329+ 1028+ 763618+ 373231+ 3447492+ 1274798+ 1276787+ 11429+ 128 0.0 ... N/A N/A N/A N/A N/A N/A
83866 ath 0.0 00:06.18 4 0 40+ 2120K+ 0B 13M+ 83850 83850 sleeping *0[10+] 0.00000 0.00000 501 8056+ 152+ 5462+ 2504+ 136223+ 31146+ 37582+ 3+ 604 0.0 ... N/A N/A N/A N/A N/A N/A
83854 com.apple.BKAgen 0.0 00:00.04 2 1 42+ 20K+ 0B 1464K+ 83854 1 sleeping *0[2+] 0.00000 0.00000 501 2775+ 171+ 218+ 93+ 878+ 469+ 459+ 37+ 9 0.0 ... N/A N/A N/A N/A N/A N/A
.
.
.
29 thermald 0.0 00:00.60 2 0 31+ 576K+ 0B 544K+ 29 1 sleeping *0[1+] 0.00000 0.00000 0 8021+ 139+ 12033+ 6007+ 28656+ 16489+ 12726+ 52+ 1009 0.0 ... N/A N/A N/A N/A N/A N/A
27 fseventsd 0.0 06:03.81 9 0 219+ 8384K+ 0B 4168K+ 27 1 sleeping *0[1+] 0.00000 0.00000 0 1324890+ 88+ 673284+ 16997+ 20680415+ 3283315+ 5048419+ 18+ 550698 0.0 ... N/A N/A N/A N/A N/A N/A
26 kextd 0.0 00:49.92 2 0 58+ 4628K+ 0B 13M+ 26 1 sleeping *0[1+] 0.00000 0.00000 0 106864+ 563+ 10668+ 6440+ 431944+ 36727+ 136669+ 2775+ 245 0.0 ... N/A N/A N/A N/A N/A N/A
25 com.bombich.ccch 0.0 00:00.87 2 0 66+ 1108K+ 0B 3068K+ 25 1 sleeping *0[1+] 0.00000 0.00000 0 10385+ 221+ 8129+ 5704+ 25753+ 27131+ 16864+ 243+ 282 0.0 ... N/A N/A N/A N/A N/A N/A
24 EyeConnect 0.0 01:55.37 12 0 61+ 6964K+ 0B 4556K+ 24 1 sleeping *0[1+] 0.00000 0.00000 0 12222+ 260+ 1747+ 1180+ 3097895+ 2482+ 1264730+ 892+ 466746 0.0 ... N/A N/A N/A N/A N/A N/A
22 UserEventAgent 0.0 03:08.20 4 1 1439+ 6220K+ 0B 2336K+ 22 1 sleeping *0[1+] 0.00000 0.00000 0 1136602+ 295+ 3259840+ 1922426+ 8525137+ 6153879+ 5940157+ 1529+ 141344 0.0 ... N/A N/A N/A N/A N/A N/A
21 syslogd 0.0 01:07.95 7 6 183+ 956K+ 0B 256K+ 21 1 stuck *0[116596+] 0.00000 0.00000 0 304083+ 72+ 1247136+ 424254+ 4546991+ 1774131+ 1223614+ 10+ 22760 0.0 ... N/A N/A N/A N/A N/A N/A
1 launchd 0.0 22:36.73 6 4 3547+ 9800K+ 0B 3524K+ 1 0 sleeping 0[0] 0.00000 0.00000 0 158340+ 6059+ 18904581+ 9244535+ 30306022+ 32624561+ 12693124+ 1172+ 42752 0.0 ... N/A N/A N/A N/A N/A N/A
0 kernel_task 0.0 20:23:16 100/4 0 2+ 686M+ 0B 0B 0 0 running 0[0] 0.00000 0.00000 0 25398+ 0 258323633+ 231211103+ 0 0 2322888249+ 0 708699634 0.0 ... N/A N/A N/A N/A N/A N/A
Top exited with 0
现在,显然,您需要解析各个行来获取有意义的信息,但您只需读取输出文件就可以了...
关于java - 如何让 'top' 命令在 Java 运行时运行以返回进程列表以及每个进程消耗的资源量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29044442/
我是 Linux 的新手,并且继承了保持我们的单一 Linux 服务器运行的职责。这是我们的SVN服务器,所以比较重要。 原来在我之前维护它的人有一个 cron 任务,当有太多 svnserve 进程
Node 虽然自身存在多个线程,但是运行在 v8 上的 JavaScript 是单线程的。Node 的 child_process 模块用于创建子进程,我们可以通过子进程充分利用 CPU。范例:
Jenkins 有这么多进程处于事件状态是否正常? 我检查了我的设置,我只配置了 2 个“执行者”... htop http://d.pr/i/RZzG+ 最佳答案 您不仅要限制 Master 中的执
我正在尝试在 scala 中运行这样的 bash 命令: cat "example file.txt" | grep abc Scala 有一个特殊的流程管道语法,所以这是我的第一个方法: val f
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我需要一些帮助来理解并发编程的基础知识。事实上,我读得越多,就越感到困惑。因此,我理解进程是顺序执行的程序的一个实例,并且它可以由一个或多个线程组成。在单核CPU中,一次只能执行一个线程,而在多核CP
我的问题是在上一次集成测试后服务器进程没有关闭。 在integration.rs中,我有: lazy_static! { static ref SERVER: Arc> = {
我正在使用 Scala scala.sys.process图书馆。 我知道我可以用 ! 捕获退出代码和输出 !!但是如果我想同时捕获两者呢? 我看过这个答案 https://stackoverflow
我正在开发一个C++类(MyClass.cpp),将其编译为动态共享库(MyClass.so)。 同一台Linux计算机上运行的两个不同应用程序将使用此共享库。 它们是两个不同的应用程序。它不是多线程
我在我的 C 程序中使用 recvfrom() 从多个客户端接收 UDP 数据包,这些客户端可以使用自定义用户名登录。一旦他们登录,我希望他们的用户名与唯一的客户端进程配对,这样服务器就可以通过数据包
如何更改程序,以便函数 function_delayed_1 和 function_delayed_2 仅同时执行一次: int main(int argc, char *argv[]) {
考虑这两个程序: //in #define MAX 50 int main(int argc, char* argv[]) { int *count; int fd=shm
请告诉我如何一次打开三个终端,这样我的项目就可以轻松执行,而不必打开三个终端三次然后运行三个exe文件。请问我们如何通过脚本来做到这一点,即打开三个终端并执行三个 exe 文件。 最佳答案 在后台运行
我编写了一个监控服务来跟踪一组进程,并在服务行为异常、内存使用率高、超出 CPU 运行时间等时发出通知。 这在我的本地计算机上运行良好,但我需要它指向远程机器并获取这些机器上的进程信息。 我的方法,在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我有一个允许用户上传文件的应用程序。上传完成后,必须在服务器上完成许多处理步骤(解压、存储、验证等...),因此稍后会在一切完成后通过电子邮件通知用户。 我见过很多示例,其中 System.Compo
这个问题对很多人来说可能听起来很愚蠢,但我想对这个话题有一个清晰的理解。例如:当我们在 linux(ubuntu, x86) 上构建一个 C 程序时,它会在成功编译和链接过程后生成 a.out。 a.
ps -eaf | grep java 命令在这里不是识别进程是否是 java 进程的解决方案,因为执行此命令后我的许多 java 进程未在输出中列出。 最佳答案 简答(希望有人写一个更全面的): 获
我有几个与内核态和用户态的 Windows 进程相关的问题。 如果我有一个 hello world 应用程序和一个暴露新系统调用 foo() 的 hello world 驱动程序,我很好奇在内核模式下
我找不到很多关于 Windows 中不受信任的完整性级别的信息,对此有一些疑问: 是否有不受信任的完整性级别进程可以创建命名对象的地方? (互斥锁、事件等) 不受信任的完整性级别进程是否应该能够打开一
我是一名优秀的程序员,十分优秀!