Linux 如何在关闭终端窗口后运行特定的bashshell脚本?
通过在.bashrc文件中插入脚本,我可以在创建新的终端窗口时运行该脚本。 是否有类似的方法在关闭终端后运行脚本 我只想保持当前打开的终端窗口数。如果你有其他方法,请告诉我Linux 如何在关闭终端窗口后运行特定的bashshell脚本?,linux,bash,shell,Linux,Bash,Shell,通过在.bashrc文件中插入脚本,我可以在创建新的终端窗口时运行该脚本。 是否有类似的方法在关闭终端后运行脚本 我只想保持当前打开的终端窗口数。如果你有其他方法,请告诉我 谢谢。您应该能够在系统上获取PTY的计数:ls/dev/pts/| wc-l这些只有在使用时才应该在该目录中处于活动状态 您可以使用这一行: ps a | awk '{print $2}' | grep -vi "tty*" | uniq | wc -l 首先使用ps获取所有进程,将其传递到awk以仅获取第二列,使用gre
谢谢。您应该能够在系统上获取PTY的计数:
ls/dev/pts/| wc-l
这些只有在使用时才应该在该目录中处于活动状态 您可以使用这一行:
ps a | awk '{print $2}' | grep -vi "tty*" | uniq | wc -l
首先使用ps获取所有进程,将其传递到awk以仅获取第二列,使用grep忽略“tty*”,使用uniq省略多行,然后使用wc-l计算行数
这应该能奏效 你想把这个数字放在哪里?你想用这个计数做什么?正在运行的终端进程的数量(可通过
ps
、pgrep
等查找)不是您感兴趣的吗?您可以使用who
、grep
和nc-l
的组合。您是在计算新的终端,还是仅仅是新的外壳?如果是后者,只需在出口处设置一个陷阱,以减小压力。如果是前者,您使用什么技术来检测新的终端?在陷阱中执行类似的操作。@EtanReisner我只想在一个文件中保留打开的终端数。每当我打开一个新的终端(ALT+T..或通过其他方法)时,我希望此计数增加,每当我关闭终端时,我希望此计数减少。我可以在.bashrc文件中添加脚本时执行前者,但不能执行后一个。为什么需要在文件中执行此操作?pgrep
当您出于某种原因需要信息时,这不是一个合理的解决方案吗?您好,我已经尝试了上面的命令,它的输出超过40个左右,但我的电脑中打开的终端数量只有4-5个。我不明白这一点。你能详细说明一下吗。