正文
包含linux后台运行的命令的词条
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
linux系统中挂起操作和强制结束操作(后台运行程序方法)
在linux系统中有这两个命令 ctrl+z 和ctrl+c ,这两个命令输入之后看起来结果差不多,实质是不同的。
他们都有中断命令的效果,但是作用是不一样的。
ctrl+c是强制终止程序的执行并结束进程。而ctrl+z则只是中断任务的执行,但该任务并没有被结束。
它只是在进程中维持挂起的状态,用户可以使用fg/bg命令来继续前台/后台执行该任务。fg命令会重启
前台被中断的任务,bg命令会把中断的任务放到后台执行。
你也可以使用bg这样的方法让一个前台执行的任务切换到后台去执行。
也可以使用fg这样的方法让一个后台执行的任务切换到前台去执行。
还有一个最常用的方法是
在一行命令的最后输入,可以让这行命令放到后台去运行。
使用jobs命令查看当前有多少后台程序在运行。
linux后台任务执行
在命令后面加上可实现后台运行。使用示例:
但仅使用命令,当关闭控制台终端时,任务同样会被终止。
nohup(no hang up)命令,即忽略SIGHUP信号。nohup能保证关闭控制台终端时,任务不被终止:
关闭控制台终端后,通过ps查看,easeapi.sh 的父进程由终端进程变成了init进程,即使关闭终端,任务依然能保持运行。nohup命令默认会在当前目录创建nohup.out文件存储输出信息。如果要输出到指定文件则:
nohup命令虽然简单,但在一些情况下可能并不好用。比如,想使用scp命令从需要验证的服务端下载文件时,直接使用nohup命令并不会出现验证交互。这种情况下,推荐使用bg/fg命令。
Ctrl + C 和 Ctrl + Z是linux中两种中断命令,但作用有不同。Ctrl + C是强制中断进程,而Ctrl + Z则是暂停任务执行。在终端中正常执行scp命令,输入账户密码后,使用Ctrl + Z暂停任务。
jobs命令显示当前任务状态。
可以看到任务已经暂停,任务编号为1。
bg/fg将可将任务在前后台切换。现在将任务切换到后台:
在通过jobs查看,任务状态已变成了running:
当关闭终端后,任务可能会被终止。可使用disown命令忽略SIGHUP信号。
Linux后台不间断运行指令
1.nohup
用途linux后台运行的命令:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ ]
无论是否将 nohup 命令linux后台运行的命令的输出重定向到终端linux后台运行的命令,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
2.
用途:在后台运行
一般两个一起用
nohup command
eg: nohup echo hello logs/hello.log 21
Linux后台运行Python程序
第一种nohup命令来让程序在后台运行
括号内容表示可以将平时输出到控制台中的内容重定向到*.log这个文件中,这个是可选的,如果没有这个,则会默认输出到nohup.out文件中。括号后面你的表示后台运行。
举个例子:
第二种方法是写一个脚本,假设我们定义了一个脚本run.sh
#!/bin/bash 是指此脚本使用/bin/bash来解释执行下面的语句,其中cd是表示将当前目录跳到所要运行文件所在目录,然后python3 文件名.py则表示运行***python文件,当写完该脚本后,执行以下命令来执行该脚本从而让程序在后台运行。
通过 ps -ef|grep python3 命令可以查看后台运行的进程都有哪些
linux后台运行的命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、linux后台运行的命令的信息别忘了在本站进行查找喔。