【问题标题】:How to run a script in background in Linux. - shell scripting如何在 Linux 中后台运行脚本。 - 外壳脚本
【发布时间】:2016-01-22 22:35:43
【问题描述】:

不断更新日志文件的脚本。系统时间和日期、当前登录的用户等数据,每个时间间隔说 5 分钟。即使终端已关闭,脚本也必须运行。

【问题讨论】:

  • 那个命令没有在我的 CLI 中执行。或者我不知道在哪里放置该命令。在脚本文件里面还是在提示中还是在哪里?

标签: shell scripting


【解决方案1】:

实际上,没有。 首先,你不需要sh

$ ./newscript.sh &

这就够了。这将启动一个后台进程。但是您的终端仍在控制它。要实现您想要的行为,请执行以下操作:

$ disown %1

这将拒绝具有jobspec 1(类似于id)的工作,这是您事先开始的工作。现在你可以关闭终端了。

【讨论】:

  • 谢谢,但我试过你的方法,它会抛出一个权限被拒绝的异常。因此我也不能使用 disown。
【解决方案2】:

万岁!!我想回答我的问题,因为我已经找到了解决方案。

例如,我正在运行一个脚本 newscript.sh 我想在后台运行它并在终端中继续其他工作,或者我可以关闭终端。

[你的名字@用户名~]$ sh newscript.sh &

然后按回车键。您将获得一个 PID,您的作业将附加到后台。

要杀死同一个进程,请使用 PID

例如, 杀死1205212

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 2012-01-31
    相关资源
    最近更新 更多