Questions tagged «process»

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



2
为什么僵尸在等孩子呢?
我正在研究不同的来源,但找不到关于儿童收割的解剖结构的良好描述。这是我想了解的一个简单案例。 $ cat <( sleep 100 & wait ) & [1] 14247 $ ps ax -O pgid | grep $$ 12126 12126 S pts/17 00:00:00 bash 14248 12126 S pts/17 00:00:00 bash 14249 12126 S pts/17 00:00:00 sleep 100 14251 14250 S pts/17 00:00:00 grep --color=auto 12126 $ kill -2 …

2
子外壳与子外壳是否相同
有两个名称:subshel​​l和child-shell。 是的,子进程将通过以下任何一种方式启动: sh -c 'echo "Hello"' ( echo "hello" ) echo "$(echo "hello") echo "hello" | cat 是否都相同并具有相同的名称?所有共享相同的属性吗? POSIX 具有以下定义: Shell执行环境由...组成。 但是上面链接的最后一段有: 子外壳程序环境应作为外壳程序环境的副本创建,但不忽略的信号陷阱应设置为默认操作。 特别是: 命令替换,用括号分组的命令以及异步列表应在子shell环境中执行。另外,多命令管道中的每个命令都在子shell环境中。.... 其中sh -c 'echo "Hello"'不包含,也应该称为subshel​​l吗?

3
挂起进程而不杀死它
因此,我在后台运行了一个持久性程序。杀死它只会导致它以其他PID重新启动。我想将其挂起(使其进入睡眠状态,而实际上并未杀死它)。杀死-9会这样做吗?如果没有,应该怎么做?
11 process  kill 

3
Shell如何执行程序?
如果我使用gcc编译程序,并尝试从bash shell执行该程序,那么bash执行该程序的确切顺序是什么? 我知道fork(),execve(),loader,dynamic linker(和其他东西)都参与,但也有人给的步骤的确切顺序和一些适合阅读的参考? 编辑: 从答案看,这个问题似乎暗示了许多可能性。我想缩小到一个简单的情况: (test.c只是打印hello world) $ gcc test.c -o test $ ./test 在上述情况(./test)中将采取哪些步骤,特别是将bash启动程序与某个子进程相关联,进行加载,链接等?

2
在Linux中不使用网络命令行的情况下,如何知道打开端口的列表以及拥有它们的进程?
我想知道嵌入式Linux中哪些进程使用了​​哪些端口。由于它是简单的嵌入式Linux,因此没有网络命令行,如netstat,lsof。(仅存在基本命令行,例如cat,cp,echo等)。 部分解决方案似乎是使用“ cat / proc / net / tcp”和“ cat / proc / net / udp”命令行。但是,我不确定这些命令行的打印列表是否显示了所有正在使用的端口,并且该列表没有显示哪个进程绑定到了特定端口。 任何意见,将不胜感激。

2
流程“时间”停止在最前面的确切含义是什么?
我将研究为什么我们会收到严重的掉期警报,并且会发现类似以下内容: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND 14683 user1 30 10 16.0g 772m 744 S 0.3 0.3 277:24.87 6.5g MATLAB 14576 user1 30 10 8125m 1.1g 736 S 0.3 0.4 261:16.73 4.1g MATLAB 这些进程的TIME +列被冻结。 我的问题是,在上面,这意味着什么? 据我了解,停止时间意味着这是一个休眠进程/未被CPU处理。但是,上面的示例显示了0.3%的CPU使用率,因此尽管事实非常小,但时间列是否应该继续增加? 这些过程是否“完成”了?在这种情况下,如何清理它们?启动它们的用户是否需要确认它们或要释放这些资源的某些东西?
11 process  cpu  swap  top  htop 

2
如何跟踪用户在Linux上创建的可执行文件?
使用Linux,我想跟踪以我的名字执行的可执行文件,包括整个命令行(实际上,每个exec *()以我自己的用户身份完成)。我应该控制一个程序,以便处理任务,执行我传入的程序,但我想确保它能够执行以及使用了哪些选项。我无法控制的程序是偷偷摸摸的,并且似乎会根据应为该任务执行的程序的名称来更改行为,因此我无法传递将记录信息并调用真实程序的shell脚本程序。 是否可以在Linux系统上以用户身份通知我所有exec *(),包括完整的命令行?就是ps没有循环运行。我宁愿直接在我工作的系统上执行此操作,而不需要root用户访问权限,但是如果需要,我可以生成一个我具有root用户访问权限的系统,然后安装程序并在那里进行调查。 使用Ubuntu 12.4 LTS。

5
进程结束或被杀死时,是否可能获得SMS /文本消息通知?
有些脚本将在服务器进程完成后发送电子邮件。 但是,我不想经常检查我的电子邮件,只是为了查看工作是否完成。因此,我想收到一条短信。 我的问题与此类似,只是与所有出现的“电子邮件”交换SMS:是否有一个程序可以在过程完成时向我发送通知电子邮件? 您能想到任何解决方法/应用程序/脚本/在工作完成(或过早结束)时能够发送SMS的任何方法吗?

4
如何杀死无法重启的进程?
有5个进程不能被杀死kill -9 $PID,执行cat /proc/$PID/cmdline将挂起当前会话。也许它们是僵尸进程。 执行ps -ef or htop也会挂起当前会话。但是top,ps -e并且工作正常。 因此,似乎文件系统没有响应有两个问题。 这是一台运行虚拟机的生产机,因此无法选择重新启动。 以下进程ID无效:16181 16765 5985 7427 7547 这些过程的父级是init ├─collectd(16765)─┬─{collectd}(16776) │ ├─{collectd}(16777) │ ├─{collectd}(16778) │ ├─{collectd}(16779) │ ├─{collectd}(16780) │ └─{collectd}(16781) ├─collectd(28642)───{collectd}(28650) ├─collectd(29868)─┬─{collectd}(29873) │ ├─{collectd}(29874) │ ├─{collectd}(29875) │ └─{collectd}(29876) qemu进程之一不起作用 |-qemu-system-x86(16181)-+-{qemu-system-x86}(16232) | |-{qemu-system-x86}(16238) | |-{qemu-system-x86}(16803) | |-{qemu-system-x86}(17990) | |-{qemu-system-x86}(17991) | |-{qemu-system-x86}(17992) | |-{qemu-system-x86}(18062) …




4
在bash中,使用control-z暂停进程有哪些潜在的负面后果?
使用bash,可以使用暂停进程control-z。但是,是否有任何一般情况或准则来提防进程在暂停后无法正常运行? 我的特定情况是创建一个tar文件,该文件花费比预期更长的时间。我想暂停它以使其成为背景,但决定不这样做。我的问题当然不是特定于tar。相反,我希望更好地了解bash中的暂停功能,以及使流程对暂停产生不良反应的原因。

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.