我在 bash 脚本中运行以下内容:
nohup java server_program.jar &
Run Code Online (Sandbox Code Playgroud)
我希望它开始运行并继续其快乐的方式。但是,出于某种原因,它说它正在忽略输入等并等待额外的返回键击。我可以删除此等待或从 bash 脚本中发送额外的返回吗?
我想在下午 6 点在远程服务器上运行脚本,但不想等待触发它。我不想使用 cron,因为它是一次性交易。
我可以使用“sleep”或“after”命令执行诸如“nohup myscript &”之类的操作吗?
谢谢!
我使用nohup如下所述在后台启动了我的 Python 程序-
nohup zook.py &
Run Code Online (Sandbox Code Playgroud)
现在我试图终止这个进程,所以我ps执行了下面提到的命令
root@phxdbx1145:/home/david/zook# ps ax | grep zook.py
16352 pts/6 S+ 0:00 grep --color=auto zook.py
Run Code Online (Sandbox Code Playgroud)
但不知何故,每次它的 PID 改变时,我都不知道为什么。每当我喜欢这样 -
kill -9 16352
Run Code Online (Sandbox Code Playgroud)
它总是说,No Such Process。
当我再次执行 px 命令时,我看到 PID 自动更改了..
所以我不确定如何终止这个进程?
有什么办法可以以某种方式终止带有名称的进程吗?
我试过
killall zook.py
但它对我不起作用,我得到 -
zook.py: no process found
Run Code Online (Sandbox Code Playgroud)
还有其他选择吗?不知何故,它的 PID 每次都会改变.. 所以我不能使用kill -9 pid
更新:-
这就是我得到的。我做了pkill -9 zook.py然后我做了下面提到的 ps 命令,它不断地显示 zook.py ?
root@dbx1145:/home/david/zook# pkill -9 zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23870 …Run Code Online (Sandbox Code Playgroud) 在过去的几个月里,我一直在学习 bash 和 linux 管理,同时生成越来越多需要在后台运行的代码。理想情况下,我希望将我的开发系统运行在离生产环境更近的地方,以避免由于安全和权限问题而不得不重新开发代码。
一般来说,我会运行一些东西:
$nohup <program> <program args> >> <program logfile> 2>&1 &
Run Code Online (Sandbox Code Playgroud)
IE:
$nohup ping 192.168.0.1 >> ping.log 2>&1 &
Run Code Online (Sandbox Code Playgroud)
但是,今天我尝试通过创建一个用户并授予他们正确的权限来正确设置它,以便只能访问他们自己的文件而不能访问其他任何内容。这似乎是一种明智的安全做法。
我会这样做:
$sudo -u <program user> nohup <program> <program args> >> <program logfile> 2>&1 &
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时,这会导致以下输出ps aux | grep <program>:
<admin user>@server:~$ ps aux | grep <program>
root 1396 0.0 0.0 61868 3792 pts/38 S 10:50 0:00 sudo -u <program user> nohup <program> <program args>
<program user> 1397 0.0 0.8 1273232 68308 pts/38 …Run Code Online (Sandbox Code Playgroud) 我想要延迟后台执行,对于我sleep [anyseconds] && [execution]使用的后台延迟nohup
单独的简单例子nohup:
nohup date &>> out.log &
当然,您可以找到datein执行的打印结果out.log。
但我想延迟执行,比如15秒,所以有点组合:
nohup sleep 15 && date &>> out.log &
这次它无法正常工作,sleep 15被执行,而date并不总是如此 - 如果您关闭终端,它不会在&&.
出什么问题了nohup?它屈服于&&??