标签: process

nohup 与屏幕

过去,我曾经nohup运行大型后台作业,但我注意到很多人screen在这种情况下使用。是否screen提供了某种我不知道的功能优势,还是只是偏好问题?

process gnu-screen nohup

47
推荐指数
3
解决办法
4万
查看次数

什么是“子收割者”过程?

一些答案中使用了“subreaper”这个词。搜索谷歌也会出现“刚刚使用”这个词的条目。

我如何理解什么是“子收割者”?

process process-management linux-kernel

46
推荐指数
1
解决办法
8974
查看次数

Linux 中信号是如何“传递”的?

我对用于描述 Linux 信号传递的术语感到困惑。大多数文本都会说“信号被传递到进程”或“信号被传递到线程”。

据我了解,当内核调用该处理程序时,信号被“传递”到驻留在进程中的信号处理程序。该进程本身是异步运行的,这个“交付”过程类似于 CPU 调用中断处理程序。中断处理程序(信号处理程序)不是进程线程,也不是该进程下运行的任何线程,对吗?它是由内核启动的一个单独的线程。

因此,信号不会传递给线程或进程,而是传递给驻留在进程中的信号处理程序,并且不一定与任何特定线程关联。如果这不正确,请告诉我,例如,信号处理程序和 pthread 之间的关联,它证明了“信号传递到 pthread”这一术语的合理性。

linux process kernel signals pthreads

43
推荐指数
3
解决办法
6526
查看次数

如何终止进程并确保 PID 未被重用

例如,假设您有一个类似于以下内容的 shell 脚本:

longrunningthing &
p=$!
echo Killing longrunningthing on PID $p in 24 hours
sleep 86400
echo Time up!
kill $p
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩,不是吗?除了进程可能提前终止并且它的PID可能已经被回收,这意味着一些无辜的工作在其信号队列中得到了一个炸弹。在实践中这可能确实很重要,但它仍然让我担心。破解 longrunningthing 使其自身死亡,或者在 FS 上保留/删除其 PID 都可以,但我正在考虑这里的一般情况。

process kill

42
推荐指数
5
解决办法
1万
查看次数

是否有类似 top 的命令显示正在运行的进程的网络带宽和文件访问

例如,我们希望看到:

PROCESS       IF       TX       RX       FILE(regular) R/W
prog1         eth0     200kB/s  12kB/s   --            --
              wlan0    12kB/s   100kB/s  --            --
              --       --       --       file1         R
              --       --       --       file2         R
              --       --       --       file3         W
prog2         eth0     0kB/s    200kB/s  --            --
              --       --       --       file4         W
              --       --       --       file5         W
Run Code Online (Sandbox Code Playgroud)

这可能吗?nethogs 只显示 TX/RX,而 lsof 只显示文件访问。

我目前正在做一个像这样的两步过程:

sudo nethogs
sudo lsof -a -d 1-999 -c hogging_program /
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

networking process process-management bandwidth files

41
推荐指数
4
解决办法
4万
查看次数

多次按 ctrl-c 会使正在运行的程序关闭得更快吗?

我经常开始读​​取一个大文件,然后在一段时间后想退出,但是从按
Ctrl+C到程序停止有延迟。是否有可能通过多次按Ctrl+C键来缩短延迟?还是我在浪费我的按键?

process kill signals

41
推荐指数
3
解决办法
9342
查看次数

有没有办法限制特定进程在 Unix 中可以使用的内存量?

我需要测试一个内存管理过程。

  • 我没有源代码,所以我需要从操作系统端进行所有测试。
  • 我希望能够说类似的话 limitmemory 400k -p <pid>

有没有办法在unix中做到这一点?任何常见的 Unix 实用程序都很棒。

process memory limit

40
推荐指数
4
解决办法
6万
查看次数

有没有办法在 Linux 系统上暂停正在运行的进程并稍后恢复?

我必须在机器上复制文件。而且数据量非常大。现在服务器需要正常服务,并且通常有一个特定的繁忙时间范围。那么有没有办法以一种方式运行这样的命令,如果服务器达到繁忙时间,它会暂停进程,当它超出该范围时,它会恢复它?

预期结果

cp src dst

if time between 9:00-14:00 pause process
After 14:00 resume cp command.
Run Code Online (Sandbox Code Playgroud)

process process-management

40
推荐指数
4
解决办法
1万
查看次数

如何告诉脚本等待进程开始接受端口上的请求?

我需要一个命令来等待进程开始接受特定端口上的请求。

linux中有没有这样做的东西?

while (checkAlive -host localhost -port 13000 == false)
  do some waiting

...
Run Code Online (Sandbox Code Playgroud)

shell networking process open-files

39
推荐指数
3
解决办法
5万
查看次数

找出正在写入硬盘的进程

在我的联想T400和Ubuntu上,硬盘写入指示灯一直闪烁。我想知道在 Linux 中是否可以找出哪些进程正在对硬盘进行 I/O?就像 by 一样top,您可以找出哪些进程使用最多的 CPU 和内存。

linux process io

39
推荐指数
3
解决办法
9万
查看次数