Questions tagged «process»

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

4
我如何暂停/恢复rsync
如何暂停正在运行的rsync? 第一次我用Ctrl+ C杀死了它,并使用该-P标志再次运行。这容易损坏当前文件传输吗? 第二次,我只是让MacOS入睡(通过合上盖子)。查看正在运行的进程,我可以看到状态为“ S”的2(不确定原因)。 尝试使用 kill -SIGCONT 恢复该过程,但没有效果。
49 process  rsync 

7
如何在顶部查看特定过程
top上是否有相对灵活的选项来跟踪特定过程? 理想情况下是通过人类可读的值来识别过程?例如chrome或java。 换句话说,我想查看顶部提供的所有典型信息,但要将结果过滤到提供的参数即。'chrome'或'java'
47 process  top 

2
如何识别没有pid的进程?
我有一个侦听2个端口的进程:45136 / tcp和37208 / udp(实际上,我认为它是同一进程)。但是netstat不会返回任何pid: netstat -antlp | grep 45136 tcp 0 0 0.0.0.0:45136 0.0.0.0:* LISTEN - 与“ grep 37208”相同的结果。 我也尝试过lsof: lsof -i TCP:45136 但是它什么也不会返回。这是新安装的挤压程序,我真的不知道该过程可能是什么。任何想法 ? 回答 感谢您的评论,我发现了它的含义。我卸载了nfs-server nfs-common(在dkpg --get-selections | grep nfs搜索之后),未知进程消失了。尽管没有以任何方式标记内核进程,这很奇怪。 再次感谢你们俩。;)

1
从/ proc / pid / smaps获取有关进程的内存使用情况的信息
对于中的给定过程/proc/<pid>/smaps,对于给定的映射条目,为: Shared_Clean Shared_Dirty 私人清洁 私人脏话 是Shared_Clean+ Shared_Dirty与其他进程共享的内存量吗?就像共享RSS? 同样,Private_Clean+ 仅可用于一个进程Private_Dirty的内存量吗?就像私人RSS? PSS值是否= PrivateRSS +(SharedRSS /共享它的进程数)? 阅读此链接后还有其他问题:LWN 现在,让我们讨论整个过程,我们正在查看其smap条目。 我注意到,如果我这样做Shared_Clean+ Shared_Dirty+ Private_Clean+ Private_Dirty,每smaps条目的过程中,我得到的报告过程中的RSS ps,这是很酷。例如 ps -p $$ -o pid,rss 能不能给我的RSS的(约)相同的值的每一个总和Shared_Clean,Shared_Dirty,Private_Clean,Private_Dirty在/ proc / $$ / smaps项。 但是整个过程的PSS呢?因此,从上面的示例中,如何获得$$的PSS?我可以为每个smap映射添加PSS条目,然后以$$的价格到达PSS吗? 那么在整个过程中USS呢?再次以上述示例为例,我猜想我可以通过对$$ ..的每个smaps条目仅汇总Private_ *条目来以$$到达USS。 注意: PSS =比例设置大小。 USS =唯一的集合大小。

8
是否有程序可以在过程完成后向我发送通知电子邮件?
我是一名计算科学家,并且在Linux上运行了大量冗长的计算。具体来说,我使用GROMACS软件包运行分子动力学(MD)模拟。 这些仿真可能需要几天或几周的时间,才能在(例如)8至24个内核上运行。我可以访问群集的多个节点,这意味着在任何给定时间,我都在运行大约4或5个作业(每个作业在不同的节点上,每个作业在8-24个内核上)。 问题在于模拟需要花费可变的时间。我想让所有节点全天候进行仿真,但是要开始新的仿真,我需要使用终端登录并做一些手动工作。但是我总是忘记模拟中还剩下多少时间,因此我总是不断地检查它们。 Linux进程完成后,有什么方法可以接收电子邮件?会有Linux程序可以执行此操作吗?这样,我将知道何时使用终端登录并准备下一个模拟。 我正在使用Ubuntu Linux。谢谢你的时间。
46 shell  process  email 

5
测量程序的RAM使用率
time 如果您想弄清楚给定命令需要多少CPU时间,这是一个很棒的命令。 我正在寻找类似的东西,可以测量程序和任何子级的最大RAM使用率。最好,它应该区分已使用和未使用的已分配内存。也许它甚至可以给出内存使用率的中位数(因此,长时间运行时您应该期望的内存使用率)。 所以我想做: rammeassure my_program my_args 并获得类似于以下内容的输出: Max memory allocated: 10233303 Bytes Max memory used: 7233303 Bytes Median memory allocation: 5233303 Bytes 我已经看过memusg https://gist.github.com/526585/590293d6527c91e48fcb08edb8de9fd6c88a6d82,但我认为这有点黑。


2
为什么默认流程创建机制为fork?
用于进程创建的UNIX系统调用fork()通过复制父进程来创建子进程。我的理解是,几乎总是在此之后调用exec()来替换子进程的内存空间(包括文本段)。在fork()中复制父级的内存空间似乎一直对我很浪费(尽管我意识到可以通过使内存段在写入时进行复制来最小化浪费,从而仅复制指针)。无论如何,有人知道为什么流程创建需要这种重复方法吗?


4
如何知道程序在linux中卡在哪里?
我在ubuntu服务器上运行以下命令 root@slot13:~# lxc-stop --name pavan --logfile=test1.txt --logpriority=trace 它似乎无限期地挂起。每当在AIX上发生这种情况时,我都只是简单地获取有问题的进程的PID,然后说 $ procstack <pid_of_stuck_process> 它用来显示整个过程的调用堆栈。procstack在linux / ubuntu中有什么等效的东西吗?


4
如何从进程中获取整个命令行?
如何使用正在运行的进程的进程名称获取命令参数或整个命令行? 例如此过程: # ps PID USER TIME COMMAND 1452 root 0:00 /sbin/udhcpc -b -T 1 -A 12 -i eth0 -p /var/run/udhcpc.eth0.pid 而我想要的/sbin/udhcpc -b -T 1 -A 12 -i eth0 -p /var/run/udhcpc.eth0.pid还是论点。我知道进程名称,并需要它的参数。我在SliTaz上使用Busybox。



4
子进程是否与其父进程一起死亡,是否有任何UNIX变体?
我已经研究Linux内核行为已经有一段时间了,对我来说很清楚: 当一个进程死亡时,所有的子进程都将返回该init进程(PID 1),直到最终死亡。 但是,最近,一个比我更了解内核的人告诉我: 当进程退出时,它的所有子进程也会死亡(除非您使用NOHUP这种情况,否则它们会返回init)。 现在,即使我不相信这一点,我仍然编写了一个简单的程序来确保这一点。我知道我不应该依赖时间(sleep)进行测试,因为这完全取决于流程调度,但是对于这种简单情况,我认为这已经足够了。 int main(void){ printf("Father process spawned (%d).\n", getpid()); sleep(5); if(fork() == 0){ printf("Child process spawned (%d => %d).\n", getppid(), getpid()); sleep(15); printf("Child process exiting (%d => %d).\n", getppid(), getpid()); exit(0); } sleep(5); printf(stdout, "Father process exiting (%d).\n", getpid()); return EXIT_SUCCESS; } 这是程序的输出,ps每次printf通话时都有相关的结果: $ ./test & …
41 process  init  exit  fork 

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.