首页 > 其他分享 >后台运行

后台运行

时间:2023-12-21 16:03:51浏览次数:26  
标签:service screen 程序 终端 后台 运行

Linux运行程序

一、简介

​ 在许多要运行的程序中,往往执行./程序名字就直接运行,但是会占用终端导致别的操作十分不便,可以试用以下的方法将程序放到后台运行。

二、操作

1.在命令末尾加上 & 符号:

#这会将`command`在后台运行,并且不会占用你的终端。
command &

2. 使用 nohup 命令:

#`nohup`命令可以让程序在后台运行,并且会将输出重定向到当前文件夹下的`nohup.out`文件。这样即使你退出终端,程序也会继续运行。
nohup command &
#扩展*
nohup command > /dev/null  2>&1 &
#nohup:不间断在后台运行一个程序。
#&:为后台运行
#2>&1:将错误重定向到标准输出上��出上

3. 使用 disown 命令:

首先,运行命令并将其放入后台(使用&),然后使用 disown 命令将它从shell的作业表中移除,使其不再受到终端会话的控制:

command &
disown

4. 使用 screen 命令:

screen 是一个终端多路复用器,它可以创建多个终端会话,并且允许你在后台运行程序。

screen
# 在新的终端窗口中运行你的程序
#按下 `Ctrl + A` 然后 `D` 来将`screen`会话放入后台。可以使用`screen -r`来重新连接到之前的`screen`会话。

5. 使用 tmux 命令:

tmux 是另一个终端多路复用器,类似于screen,它允许你创建多个终端窗口并在后台运行程序。

bashCopy codetmux
#在新的终端窗口中运行你的程序
#按下 `Ctrl + B` 然后 `D` 来将`tmux` 会话放入后台。可以使用 `tmux attach` 命令来重新连接到之前的`tmux`会话。

6. 使用 systemd 服务:

创建一个systemd服务单元文件,使你的程序在系统启动时作为服务后台运行。创建一个 .service 文件,然后将其放在/etc/systemd/system/目录下,内容类似于:

[Unit]
Description=Description of your service		#服务的描述,用于描述服务的作用。
Documentation=Additional documentation about your service	#可选项,提供有关服务的附加文档。
After=network.target     # Dependencies, if any		#指定服务的启动顺序依赖关系

[Service]
ExecStart=/path/to/your/command  #指定要运行的命令或脚本的路径。
WorkingDirectory=/path/to/your/working/directory  #指定要运行的命令或脚本的路径。
User=nobody            #指定服务运行的用户和用户组。
Group=nogroup
Restart=always          #指定服务何时应该被重启。常用的选项包括 always、on-failure 等。
Environment=KEY=value  #可选项,允许你设置环境变量。

[Install]
WantedBy=multi-user.target  #指定服务应该在哪些target(例如 multi-user.target)中启动。

启用并启动这个服务:

systemctl enable your-service-name.service
systemctl start your-service-name.service

标签:service,screen,程序,终端,后台,运行
From: https://blog.51cto.com/u_14871454/8924539

相关文章

  • Jenkins中配置项目的运行频率
    【配置】->【构建触发器】->勾选【Buildperiodically】,在出现的日程表中,输入内容,观察下方出现的信息构建频率包含5个参数,其含义如下:分钟:取值范围为0~59(建议用H来标记,以均匀传播负载)。小时:取值范围为0~23。天:取值范围为1~31。月:取值范围为1~12。星期:取值范围为0~7。参考实......
  • 商品前后台类目
    商品前台类目重点:可以让消费者更加精准的找到自己要的商品,比如消费者买电视,那电视的具体的用途是游戏、会议还是其他用途,所以电视后台类目下会挂在具体的前台类目(游戏电视、会议电视等)。可以业务人员自定义,用于适配C端展示给消费者的各种表达,比较灵活。刚才提到商......
  • Postman运行一次时其中的请求执行多次
    背景运行1次时,实现其中的几个请求执行多次,每次执行时的参数不同方式在要开始循环的请求中通过pm.environment.set('next',pm.info.requestId)将这个请求的id记下来然后当要循环这个请求的的时候,先改变请求中的变量,然后再通过postman.setNextRequest跳转到要循环执行的请求,从......
  • gd32f4xx在IAR环境下创建工程后无法正常运行问题排查
        在创建移植工程时,我发现我需要创建一个基础环境,于是就顺手搭建了一个小的工程,简单到只有一个功能,就是运行systick,然后维护一个变量自加。结果发现,这个程序居然怎么都无法正常运行。       中断中的断点无法触发,变量不发生变化,我整个人都无语了,在网上查了很多......
  • # yyds干货盘点 # 运行js文件,会弹出一个python解释器的界面,怎么解决呢?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【菜......
  • 运行js文件,会弹出一个python解释器的界面,怎么解决呢?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【菜......
  • VsCode运行与freopen与快读
    运行g++-oaa.cpp&&./ag++b.cpp-ob&&./bg++c.cpp-oc&&./cfreopen #ifndefONLINE_JUDGEfreopen("in.txt","r",stdin);freopen("out.txt","w",stdout);#endif快读temp......
  • 解决Qt6“QApplication file not found”和“无法运行 rc.exe”错误
    最近开始学习Qt(趟坑),买了一本《C++GUIQt4编程》,照着书上的例子做,第一个就报编译不过,报错信息:'QApplication'filenotfound 查了下Qt助手, 使用qmake,需要加一句:QT+=widgets原因在于QApplication在Qt6中被放在了QtWidgets下,因此需包含widgets,当然最好的方式是根据Qt版本......
  • schedule 定时运行 Python 函数
    安装pipinstallschedule例子每x分钟运行一次importscheduleimporttimedefjob():print("I'mworking...")#每3秒/分钟/小时/天/周运行一次任务、#从现在开始每3秒/分钟/小时/天/周运行一次作业schedule.every(3).seconds.do(job)schedule.every(3).mi......
  • ml.net例子笔记5-ml.net v2版本例子运行续
    Torch的使用被阻断了一下,继续看下其ml.net2的例子https://github.com/dotnet/machinelearning-samples/tree/main/samples/csharp/getting-started/MLNET2https://gitee.com/mirrors_dotnet/machinelearning-samples/tree/main/samples/csharp/getting-started/MLNET2文本分类......