Questions tagged «process»

进程是正在执行的计算机程序的实例。

6
“ lsof”命令的替代方案?
在许多情况下,我必须使用的机器上未安装“ lsof”,但是非常需要lsof的“功能”(例如,在AIX上)。:\ 非Windows世界中是否有类似“ lsof”的应用程序? 更新:例如:我需要知道哪些进程使用“ / home / username”目录?

6
流程后代
我正在尝试建立一个过程容器。该容器将触发其他程序。例如-一个bash脚本,它以'&'用法启动正在运行的后台任务。 我所追求的重要功能是:杀死容器时,应该杀死所有在其下产生的东西。不仅是直系子女,还有他们的后代。 当我开始这个项目时,我错误地认为,当您杀死一个进程时,它的孩子也会被自动杀死。我已经从有同样错误想法的人那里寻求建议。尽管可以捕捉到信号并将杀人事件传递给孩子,但这并不是我在这里寻找的东西。 我相信我想要实现的目标,因为当您关闭xterm时,其中运行的所有内容都会被杀死,除非未进行任何操作。这包括孤立的过程。那就是我想要重新创建的东西。 我有一个想法,就是我所寻找的是unix会话。 如果有一种可靠的方法来标识一个进程的所有后代,那么也能够向他们发送任意信号将很有用。例如SIGUSR1。


1
ps最多只能打印任何进程的命令行的4096个字符
当我为一个Java进程grep时,我得到的输出低于输出,但它被限制为4096个字符,这导致grep输出中未显示实际的进程名称(即kafka.Kafka)。 这是grep的限制吗?有什么方法可以打印超过4096个字符的字符? ps -ef | grep java java -Xmx6G -Xms6G-服务器-XX:+ UseG1GC -XX:MaxGCPauseMillis = 20 -XX:InitiatingHeapOccupancyPercent = 35 -XX:+ DisableExplicitGC -Djava.awt.headless = true -Xloggc:/ x / kafka / data01 / kafka-app -logs / kafkaServer-gc.log -verbose:gc -XX:+ PrintGCDetails -XX:+ PrintGCDateStamps -XX:+ PrintGCTimeStamps -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate = false -Dcom。 sun.management.jmxremote.ssl = false -Dkafka.logs.dir = …

1
为什么打开文件中的file-nr和lsof计数不同?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 3年前关闭。 我突然遇到一个问题。我所有的应用程序和服务器运行正常,突然间我看到打开的文件数量激增。 我正在使用以下命令进行检查: cat /proc/sys/fs/file-nr 当我检查时显示为44544 0 128000,因此44544是打开的文件数。 但是当我使用此命令检查时- lsof | wc -l 它显示-28384。 那么哪一个是正确的呢? 我的最大打开文件数限制是65535 ulimit -a open files (-n) 65535 我想知道使用更多打开文件的前5个过程。我可以从中得到,lsof但是这里显示的计数与我上面提到的其他命令有很大不同。 我可以获取此命令计数的进程的详细信息cat /proc/sys/fs/file-nr吗? 根据下面提到的链接,它说我们不能, 如何显示打开的文件描述符,但不使用lsof命令 我周围有工作吗?我需要突然发现哪个进程开始使用更多打开的文件。 更新 抱歉麻烦你们了。我发现我正在做的错误是我没有从根目录检查lsof | wc -l。这就是我看到巨大差异的原因。 在文件-nr和lsof |的输出之间仍然存在差异。wc -l(从根目录开始)。lsof计数大于文件-nr计数。原因是,file -nr忽略了某些目录(lsof将其视为文件),这是我根据对Google本身的一番研究发现的。无论如何!谢谢大家的帮助!

2
如何找出正在写入STDOUT的进程?
我有两个正在运行的流程实例。其中之一就是“可惜!” 和打印错误不会停止到STDOUT。 我想杀死破裂的过程,但是我必须确保不要终止错误的过程。它们都是在大约同一时间启动的,使用top它们,我可以看到它们都使用了大约相同数量的内存和CPU。我似乎找不到任何指向哪个进程表现不佳的信息。 最安全的事情是弄清楚哪个进程/ pid正在写入STDOUT。 有什么办法吗?


2
/ proc / self如何在Linux中实现?
我正在修改/procLinux中的文件系统,然后遇到/proc/self,它是指向当前进程的进程目录的符号链接。我想知道它是如何实现的。一种解决方案是更改每个上下文切换上的符号链接,但这显然非常昂贵,因为它涉及磁盘访问。
19 process  proc 

4
杀死僵尸进程的另一种方式
我刚刚注意到CentOS 6.8(Final)上有一些僵尸进程,试图杀死它们,但它们仍然存在: [root@host user]# ps -ef | grep git tomcat 746 1 0 Jul18 ? 00:00:00 git clone https://github.com/angular/bower-angular.git -b v1.3.20 --progress . --depth 1 tomcat 747 746 0 Jul18 ? 00:00:00 [git-remote-http] <defunct> root 20776 20669 0 09:03 pts/3 00:00:00 grep git tomcat 29970 1 0 Jul18 ? 00:00:00 …
19 process  kill 


3
Linux内核线程真的是内核进程吗?
我在许多地方都读到Linux在Java VM中为每个用户线程创建一个内核线程。(我看到术语“内核线程”以两种不同的方式使用: 创建用于执行核心OS工作的线程,以及 操作系统知道的线程,并计划执行用户工作。 我说的是后一种。) 内核线程是否与内核进程相同,因为Linux进程支持父级和子级之间的共享内存空间,或者它确实是一个不同的实体?

2
为什么要在进程名称周围添加括号?
在我的机器上(Debian测试),当我这样做时 ps aux | grep pam 我得到 orto 609 0.0 0.0 58532 2148 ? S 08:06 0:00 (sd-pam) orto 5533 0.0 0.0 12724 1948 pts/1 S+ 16:51 0:00 grep pam (sd-pam)似乎是一个奇怪的名字。在阅读该论坛时,我看到此名称是systemd故意设置的。在源代码中,我们看到了 /* The child's job is to reset the PAM session on * termination */ /* This string must fit …
19 process  systemd 

5
如何仅获取端口3000上运行的进程的PID,而没有任何其他信息?
我正在使用CentOS7。我想获取在端口3000上运行的进程的PID(如果存在)。我想要获取此PID的目的是将其保存到Shell脚本中的变量中。到目前为止,我有 [rails@server proddir]$ sudo ss -lptn 'sport = :3000' State Recv-Q Send-Q Local Address:Port Peer Address:Port Cannot open netlink socket: Protocol not supported LISTEN 0 0 *:3000 *:* users:(("ruby",pid=4861,fd=7),("ruby",pid=4857,fd=7),("ruby",pid=4855,fd=7),("ruby",pid=4851,fd=7),("ruby",pid=4843,fd=7)) 但是我无法弄清楚如何在没有所有这些额外信息的情况下单独隔离PID。


7
什么在使用此网络套接字?
我正在尝试使用NTP更新我的计算机上的时间。但是,这给了我一个错误: host # ntpdate ntp1.example.org 10 Aug 12:38:50 ntpdate[7696]: the NTP socket is in use, exiting 错误“套接字正在使用”是什么意思?我如何查看该套接字在使用什么? 这是在我的CentOS 4.x系统上发生的,但我也在FreeBSD 7.x,Ubuntu 10.04和Solaris 10上看到了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.