【发布时间】:2014-09-09 11:46:42
【问题描述】:
当~/.bashrc 在登录时不断创建script 会话时出现这种情况,除非通过 CTRL+C 退出,所以我认为特定命令必须有一个 if 来检查我们是否已经在运行 script 会话所以它不会无限期地创造新的。
【问题讨论】:
-
您可以随时浏览您的流程树以查看您的父母是谁。你的目标是什么操作系统?如果您可以假设 Linux,那么您可以使用 procfs 使工作稍微容易一些。
-
@CharlesDuffy:Ubuntu (12.04.4)。
-
...好吧,等等——如果你说的是无限期的,这听起来就像你正在编写一个在脚本下递归调用自身的工具。如果是,那么有不同的更好的方法来处理这个问题。
-
@CharlesDuffy:我自己也不相信,但是在
.bashrc中有script使它无限期地创建会话,因为每次进行会话时文件都会运行,这证明了不是必须exit超过它创建的会话数; 5 个额外的会话,递归地,在第一个会话中。我不能总是有 cronjobchmodding/dev/pts/所以我寻找方法,script似乎是治愈方法,但是每次你都必须输入它su不是一个选项,但有script由于script会话的递归创建,在.bashrc中确实是个坏主意。 -
你真正的目标是什么?记录用户的所有操作?以该用户身份运行
script绝对是错误的方法;用户逃避或修改日志记录是微不足道的,因为他们拥有的进程必然在日志目标上有一个打开的文件句柄。
标签: linux bash shell ubuntu scripting