Ubuntu 用gnuplot绘制进程树

Ubuntu 用gnuplot绘制进程树,ubuntu,process,gnuplot,Ubuntu,Process,Gnuplot,类似于这个问题 我想在给定PID的地方绘制流程树,我应该能够将该流程及其子流程绘制为一棵树。但是,我希望保留节点/边之间的父子关系。我的意思是,任何两个孩子之间都不应该有边缘。坐标实际上并不重要。此外,我还可以使用其他绘图工具选项。我尝试了上述问题的公认答案,但它链接了所有节点 任何建议/帮助都会使我高兴 注意:我使用的是Ubuntu,你没有给出太多你拥有的和你想要的细节。所以我假设。当然,还有改进的余地。要了解有关打印样式的更多信息,请在gnuplot控制台中检查帮助点,帮助向量,帮助标签 代

类似于这个问题 我想在给定PID的地方绘制流程树,我应该能够将该流程及其子流程绘制为一棵树。但是,我希望保留节点/边之间的父子关系。我的意思是,任何两个孩子之间都不应该有边缘。坐标实际上并不重要。此外,我还可以使用其他绘图工具选项。我尝试了上述问题的公认答案,但它链接了所有节点

任何建议/帮助都会使我高兴


注意:我使用的是Ubuntu,你没有给出太多你拥有的和你想要的细节。所以我假设。当然,还有改进的余地。要了解有关打印样式的更多信息,请在gnuplot控制台中检查
帮助点
帮助向量
帮助标签

代码:

### drawing a simple tree
reset session

$Children <<EOD
23
34
45
56
67
78
EOD

$Parent <<EOD
123
EOD

unset border
unset tics
Size = 8
set offsets 0.2,0.2,0.2,0.2

plot $Children u (Last=$0):(1):1 w labels not, \
     '' u 0:(1):(Last/2-$0):(1) w vectors nohead lc rgb "black" notitle, \
     '' u 0:(1):(Size) w p pt 7 ps var lc rgb "yellow" not, \
     '' u 0:(1):1 w labels not, \
     $Parent u (Last/2):(2):(Size) w p pt 7 ps var lc rgb "light-grey" not, \
     '' u (Last/2):(2):1 w labels center not
### end of code
结果:

### drawing a simple tree
reset session

$Children <<EOD
23
34
45
56
67
78
EOD

$Parent <<EOD
123
EOD

unset border
unset tics
Size = 8
set offsets 0.2,0.2,0.2,0.2

plot $Children u (Last=$0):(1):1 w labels not, \
     '' u 0:(1):(Last/2-$0):(1) w vectors nohead lc rgb "black" notitle, \
     '' u 0:(1):(Size) w p pt 7 ps var lc rgb "yellow" not, \
     '' u 0:(1):1 w labels not, \
     $Parent u (Last/2):(2):(Size) w p pt 7 ps var lc rgb "light-grey" not, \
     '' u (Last/2):(2):1 w labels center not
### end of code

如果我们真的对所有选项都开放,我可以推荐我最喜欢的选项吗:

pstree -p <pid>
or
pstree -ap <pid>
人工智能树-
可以为您提供各种选项,以调整您希望/不希望在图表中看到的内容

您的数据是什么样子的?请展示一些示例数据。到目前为止,你用gnuplot做了哪些尝试?请显示您的代码或至少一个手绘草图,您希望如何拥有图形。作为数据,我只有父pid和子pid。我没有任何gnuplot代码,因为我不知道从哪里开始。作为可视化,您可以参考给定的链接。
graphviz
可能是您正在寻找的工具。你可以试试,它能用在C中吗?还是在linux shell中?哇,非常感谢!最后一个问题,如何使用您在C中提供的代码?我应该在C命令中触发这段代码。对不起,我不知道它如何与C一起工作,但基本上你必须将这个脚本作为文本发送到gnuplot,并以某种方式将任何格式的图形返回到C中。
foo,26943 /a/b/c/foo -i...
  └─foo1,26951 /a/b/c/foo1 -x...
      └─foo2,27103 /a/b/c/foo2 -y...