在bash中,我尝试将PPID导出为环境变量。但是,在我看来,结果在不同的Linux发行版中是非常不一致的。
在Ubuntu18.04上,下面的大多数命令都是“按预期”工作的。在NixOS上,我得到以下行为:
# normally PPID is not part of the environment
env | grep PPID
# --> no output
# exporting for a single command does not work
PPID=foo some-command
# --> bash: PPID: readonly variable
# e
这是我想要运行的参数:
cd ../linux-3.11/; cp arch/x86/configs/byt_32_tz_emgd_defconfig .config; make ARCH=i386 oldconfig; make ARCH=i386 -j 4
我希望使用python将其保存到bash文件。由于路径问题,我希望它能像用户输入到linux命令(没有分号)一样运行。
请提供一些简单的示例,说明如何创建bash文件并在python脚本中运行它。
我需要在linux上的bash中找到某个java进程的pid。
如果只有一个java进程,
PID=$(pgrep java)
很管用。
对于多个java进程,它变得更加复杂。我手动运行pstree,找到我首先需要的java进程的祖先,然后找到问题中的java进程。在bash中可以这样做吗?基本上,我需要在伪代码中显示的功能:
Having `processname1` and `processname2`
and knowing that `processname2` is in the subtree of 'processname1',
find the pid of `
bash: 4.3.42(1)-release (x86_64-pc-linux-gnu)
执行以下脚本:
# This is myscript.sh
line=$(ps aux | grep [m]yscript) # A => returns two duplicates processes (why?)
echo "'$line'"
ps aux | grep [m]yscript # B => returns only one
输出:
'tom 31836 0.0 0.0 17656 3132 pts/