相关疑难解决方法(0)

如何'grep'连续流?

这是否可以grep连续使用?

我的意思是一种tail -f <file>命令,但grep在输出上只是为了保留我感兴趣的行.

我已经尝试了,tail -f <file> | grep pattern但似乎grep只能执行一次tail,也就是说永远不会.

linux bash shell grep tail

678
推荐指数
7
解决办法
30万
查看次数

如何确保正在运行的进程是我期望的进程?

背景:

我有一个linux [1]系统管理一系列第三方守护进程,其中交互仅限于shell [2] init脚本,即只有{start | restart | stop | status}可用.

问题:

进程可以假定先前运行的进程的PID,通过检查正在运行的进程的PID来检查进程的状态.

示例:

过程A使用PID 123运行,随后死亡,过程B使用PID 123进行初始化,状态命令以非真实(错误)"OK"响应.换句话说,我们只检查来自其PID的进程是否存在以验证进程是否正在运行,我们假设如果存在具有此PID的进程,则它是有问题的进程.

建议的解决方案:

  1. 使用PID查询进程,以确保命令/守护进程正在运行,因为PID是预期的.这个解决方案的问题是命令和PID都需要匹配; 因此,需要维护多位信息并保持同步,并且增加了错误/边缘条件的附加复杂性.
  2. 将PID文件的创建时间与进程的开始时间相关联,如果进程在PID文件创建时间的某个增量内,我们可以相当确定命令/守护进程是否按预期运行.

除了存在使用该PID运行的进程之外,是否有标准方法来批准进程/ PID文件的真实性?即我(作为系统)想要知道你(过程)是否正在运行,以及你是否是我认为你是谁(A而不是B).

假设我们选择实施上面提出的第二个解决方案,PID创建时间和过程开始时间之间的置信区间/增量是否合理?在这里,合理意味着类型1 /类型2错误之间可接受的折衷.

[1] CentOS/RHEL [2] Bash

linux bash shell pid process

6
推荐指数
1
解决办法
814
查看次数

在c中后台运行一个进程

我想从 c 中的 main 函数在后台运行一个子进程。我已经使用 fork 和 execv 函数来执行此操作。但我也想在父进程结束时杀死子后台进程,以防子进程尚未退出。我将使用kill(pChildPid)函数来执行此操作。所以我的问题是

假设子进程先于父进程退出,Linux操作系统可以将与子进程相同的pid分配给其他进程吗?如果是,那么我会无意中杀死该进程?

c c++ linux exec

3
推荐指数
1
解决办法
3751
查看次数

关于流程的pid

我有一个有点愚蠢的问题,如果我有一系列创建的进程......这些不一定是某种继承,进程的pid必须是数字连续或随机的pid?

linux pid process

0
推荐指数
1
解决办法
6020
查看次数

在任何时候都可以重复使用旧的pid吗?

一个非常基本的问题:我观察到给予新过程的PID不断增加.截至目前,当我键入pspid ps为48564时(当我ps再次执行时,它获得+1值)

文件中给出的限制/proc/sys/kernel/pid_max为65536.

那么如果我达到这个限制会发生什么.是否重用了已终止进程的PID?

linux pid

0
推荐指数
1
解决办法
182
查看次数

标签 统计

linux ×5

pid ×3

bash ×2

process ×2

shell ×2

c ×1

c++ ×1

exec ×1

grep ×1

tail ×1