【问题标题】:shell script blocking processshell脚本阻塞进程
【发布时间】:2016-05-02 13:44:54
【问题描述】:

我写了一个小shell脚本(demo_script),内容如下

执行 > /tmp/log 2>&1 sudo apt-get install -y telnet

我使用“bash demo_script &”将此脚本作为守护进程运行。但它不会安装软件并继续在后台运行。

捕获进程详细信息后使用“ps -ef”

root 28882 28881 0 13:35 pts/0 00:00:00 sudo apt-get install -y telnet

root 28883 28882 1 13:35 pts/0 00:00:00 apt-get install -y telnet

root 28901 28883 0 13:35 pts/0 00:00:00 apt-get install -y telnet

我不知道为什么会这样。

还有日志消息

正在读取包列表... 构建依赖树... 读取状态信息... 将安装以下新软件包: 远程登录 0 升级,1 新安装,0 删除和 71 未升级。 需要获得 0 B/67.1 kB 的档案。 此操作后,将使用 167 kB 的额外磁盘空间。

【问题讨论】:

  • 机器是否可以上网?
  • 在没有框架的情况下运行它,看看会发生什么:sudo apt-get install -y telnet &

标签: linux shell ubuntu


【解决方案1】:

它正在等待用户输入。使用“--yes”之类的:http://linux.die.net/man/8/apt-get

【讨论】:

  • 当然,我以“非交互模式”执行命令(apt-get install -y telnet)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-30
  • 1970-01-01
  • 2014-03-23
  • 2020-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多