Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >UNIX中的进程组Id

UNIX中的进程组Id
EN

Stack Overflow用户
提问于 2010-07-14 02:01:14
回答 4查看 2.6K关注 0票数 1

我正在尝试在脚本(bash)中执行一些流程控制。因此,我将当前进程的进程组id输出到一个文件中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps ax -o '%p %r'|perl -ne 'if ($_ =~ /\s*$$\s*(\d+)/) { print "$1"; exit; }' > $pgidfile
nohup $JAVA_HOME/bin/java -cp somejar.jar some.java.Program & > /dev/null 2>&1

我也尝试过:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps ax -o '%p %r'|awk '/'"$$"' [0-9]+/ {print $2}' > $pgidfile
nohup $JAVA_HOME/bin/java -cp somejar.jar some.java.Program & > /dev/null 2>&1

然而,在这两种情况下,文件(在$pgidfile中)似乎都是空的。(尽管在某些罕见的情况下,它似乎确实具有正确的值。)此外,只需在命令行上运行命令(输出进程组id -上面的选项1或选项2)就可以做正确的事情。

如果有人能为上述问题提出解决方案或回答以下两个问题中的一个(或两个),那就太好了:

1)在shell或perl脚本中获取进程的组id的建议方法是什么?

2)在nohup下运行命令是否会改变与使用nohup执行的命令无关的先前/后续命令的输出重定向?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-14 14:09:16

perl 1)在

或perl脚本中获取进程的组id的建议方法是什么?

对您当前方法的改进将是在您关心的PID上进行精确的字段匹配。任何未锚定的正则表达式技术(例如您的原始帖子)都有匹配错误内容的风险。如果$$恰好是123,您将匹配PID为1123、1234等的ps输出行。

现在,awkperl都非常擅长处理字段分隔的输入(请参阅perl's -a switch),但您不需要这样做,因为您可以将ps限制为您关心的流程:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ps -o '%r' $$ | tail -n 1 > $pgfile

了解如何告诉您的ps省略报头,您可以从该管道中删除tail

2)在nohup下运行命令是否会改变与使用nohup执行的命令无关的先前/后续命令的输出重定向?

不是的。您的方案中还有一些地方不对劲。

票数 1
EN

Stack Overflow用户

发布于 2010-07-14 02:05:14

与其求助于笨拙的shell脚本和ps,为什么不让您的Java程序拥有自己的pgid呢?在最坏的情况下,您可以在一行JNI方法中完成此操作。

票数 0
EN

Stack Overflow用户

发布于 2010-07-14 02:21:53

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps ax -o '%p %r' | awk -vp=$$ '$0~p{print $2}'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3242871

复制
相关文章
如何将多个数据快速对齐
我们在使用条码标签打印软件设计制作标签时,会使用到很多元素,比如文字、图形、条形码、二维码等等。我们在输入这些元素的时候会出现参差不齐的现象,为了美观,需要按照一定的方式将这些元素快速对齐。下面就详细介绍操作方法。
神奇像素科技
2021/12/08
1.3K0
如何将多个数据快速对齐
ggplot2绘制科研数据柱状图~
ggplot2是一个神奇的R包,可以将自己的统计数据绘制成想要的图案。从今天起小编计划为各位观众老爷们带来一个ggplot2的系列教程。那么首先呢,大家在可视化自己的科研数据时,最最最常用的就是绘制一个带误差或者显著值的柱状图。
作图丫
2022/03/29
2.6K0
ggplot2绘制科研数据柱状图~
Cadence 16.6 Allegro如何同时对齐多个封装?
1)Allegro中选择Setup -> Application Mode -> Placement Edit
黑马Amos
2023/03/21
1.2K0
Cadence 16.6 Allegro如何同时对齐多个封装?
ggplot2绘制玫瑰图
1绘制 ggplot(mydata) + + geom_bar(aes(x=a, y=b),width = 1,stat="identity", + colour = "black",fill="#F8766D") + + geom_text(aes(x=a,y = b-8,label = b),color="white") + + coord_polar(theta = "x",start=0) + + ylim(c(0,120))+ + theme_light(
爱学习的小明明
2020/09/20
1.3K0
ggplot2循环出图
在用ggplot画图的过程中,我们常常希望能够循环某个变量同时画很多图。如我们的数据是testdata
生信编程日常
2020/04/01
2.2K0
ggplot2循环出图
数据对齐详解
Author:bakari           Date:2012.8.26 数据对齐实际上是内存字节的对齐,今天偶然翻开自己以前做的笔记,发现做了好多的题,但现在对于我来说觉得很陌生。上网查了一下数据对齐的原因和方式,现在把它整理出来以备之后的学习复习巩固。 一、什么是数据对齐 1、现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个
Linux云计算网络
2018/01/10
1.9K0
数据对齐详解
跟着Nature Genetics学作图:使用ggarrange函数对ggplot2的多个图进行组合
https://www.nature.com/articles/s41588-022-01051-w
用户7010445
2023/01/06
2.8K0
跟着Nature Genetics学作图:使用ggarrange函数对ggplot2的多个图进行组合
ggplot2实现哑铃图
哑铃图(Dumbbell Chart),也叫DNA图。当我们想要比较不同指标不同组的情况可用多个“哑铃”表示。另外,如果想表示某一组在不同条件下的变化情况也可以用这种方法。哑铃图如下图所示:
生信编程日常
2020/05/18
6660
ggplot2实现哑铃图
「R」ggplot2 图区域放大
这个功能今天工作的时候需要,就搜了一下,有个 ggforce 包可以做这个事情(之前还 mark 过,哈哈)。
王诗翔呀
2020/07/02
2.2K0
详解CAN总线:标准数据帧和扩展数据帧
CAN协议可以接收和发送11位标准数据帧和29位扩展数据帧,CAN标准数据帧和扩展数据帧只是帧ID长度不同,以便可以扩展更多CAN节点。
不脱发的程序猿
2022/10/04
10.3K0
详解CAN总线:标准数据帧和扩展数据帧
微信小程序显示多个空格 适用表单对齐
text标签space属性 官方文档链接 效果图
peng_tianyu
2022/12/15
9770
微信小程序显示多个空格 适用表单对齐
ggplot2:计数图(Counts Plot)
前几天发现一个非常有意思的数据可视化小例子https://github.com/nanli-7/basketballdatavisualization,自带数据和代码,非常好的学习材料,自己重复了其中绝大部分内容,但是最后一幅非常漂亮的图没有找到对应的代码,自己也没有思路应该如何入手;今天刷知乎的时候发现了一篇文章 深度好文 |Matplotlib 可视化最有价值的 50 个图表(附完整 Python 源代码), 发现里面有一张图和自己没能画出来的非常像,才知道这类图叫计数图(Counts plot),但是
用户7010445
2020/03/03
1.5K0
ggplot2绘制嵌套圆图
❝本节来介绍如何使用「ggplot2」来绘制嵌套圆形图,图形绘制倒也简单主要是细节的调整结果仅供参考❞ 加载R包 library(tidyverse) 导入数据 bytes_total <- read_csv("bytes_total.txt") speed_index <- read_csv("speed_index.txt") 数据清洗 mobile_bytes <- bytes_total %>% filter(date %in% c("2022_10_01", "2018_10_01"),
R语言数据分析指南
2022/12/20
5650
ggplot2绘制嵌套圆图
ggplot2:堆叠柱状图
在数据展示时为了体现各因素的比重(百分比),有时会用到堆叠柱状图,这里介绍下用 ggplot2 画堆叠柱状图的代码和相应的美化方法。
生信技能树
2021/04/29
7.6K0
ggplot2:堆叠柱状图
ggplot2点图调整顺序
但是这里有个问题是,本来应该还有一组点,因为这一组点最少,画在最下边被挡住了。我想让这一组点显示出来。一开始我打算修改分组的levels的顺序,将这一组换一下位置,但是最终图并没有变化。
生信编程日常
2020/06/28
1.3K0
ggplot2| 绘制KEGG气泡图
对生信分析中得到的一些基因,进行KEGG富集分析,达到对基因进行注释和分类的目的。
生信补给站
2020/08/05
12.3K1
ggplot2|发散性“正负”图
前面介绍了一些ggplot绘图,ggplot2|从0开始绘制直方图,ggplot2|从0开始绘制箱线图,ggplot2|从0开始绘制折线图,这次介绍一下当数据为发散性正负值的时候,几种比较合适的展示方式。
生信补给站
2020/08/06
1.1K0
ggplot2 如何控制多个影射Legend 的顺序
调整每个映射Legend 内部的顺序,如 cut 中 Fair,Good等的顺序,需要设置因子的水平,具体见:R语言学习 - 热图美化 (数值标准化和调整坐标轴顺序)
生信宝典
2021/12/29
1.2K0
ggplot2 如何控制多个影射Legend 的顺序
ggplot2 案例:赫罗图
今天的推文是个 ggplot2 案例,不过也是一个动态图表,在开始敲今天的代码之前我们先了解一下什么是“赫罗图”?
王诗翔呀
2020/07/06
2.3K1
ggplot2 案例:赫罗图
点击加载更多

相似问题

将多个ggplot2图与栅格对齐

36

使用ggplot2的for循环绘制数据帧内的多个图

10

垂直对齐ggplot2图

25

在ggplot2中使用循环绘制多个箱图,长数据帧

119

具有共享数据的多个ggplot2图

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文