首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使程序Linux后台运行

一、为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。...所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行。...(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼) 2:不影响计算效率 2:让程序在后台跑后,不会占据终端,我们可以用终端做别的事情。...二、怎么样使程序在后台执行 方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。...附: 在Linux中,如果要让进程在后台运行,一般情况,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ .

4.3K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux使用gcc编译运行C程序

    gcc(GNU Compiler Collection)是Linux最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。 ...in1 in2 // gcc编译不链接(对in1文件和in2文件文件进行编译生成out.o文件,“-c”:表示只生成*.o文件) 若在arm板里运行...,就需要在linux系统中使用arm-linux-gcc交叉编译才行: arm-linux-gcc -o out in1 in2 //gcc...// gcc编译不链接(对in1文件和in2文件文件进行编译生成out.o文件,“-c”:表示只生成*.o文件) 以编译两个程序a.c和hello.c为示例: vi a.c                                 .../hello                                   //运行hello.bin 效果如下所示: ?

    6.1K70

    linux使用gcc编译运行C程序

    gcc(GNU Compiler Collection)是Linux最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。 ...in1 in2 // gcc编译不链接(对in1文件和in2文件文件进行编译生成out.o文件,“-c”:表示只生成*.o文件) 若在arm板里运行...,就需要在linux系统中使用arm-linux-gcc交叉编译才行: arm-linux-gcc -o out in1 in2 //gcc...// gcc编译不链接(对in1文件和in2文件文件进行编译生成out.o文件,“-c”:表示只生成*.o文件) 以编译两个程序a.c和hello.c为示例: vi a.c                                 .../hello                                   //运行hello.bin 效果如下所示: ?

    7.4K90

    如何使程序Linux后台运行

    经常在Linux上面运行程序都有这样的体验: 某个程序运行的时候,会产生大量的log(提示)信息,但实际上我们只想让它跑一而已,log暂时不需要或者后面才有需要。...◆ ◆ ◆ ◆ ◆ 先来解决第一个问题,如何放到后台 很简单,就是在所有命令后面都加个空格和 “&” 符号就可以了: ./test & 这样一来,test程序就在后台运行了。...那假如说我们想要退出当前终端,但又想让程序在后台运行,该如何处理呢?...实际上,这种需求在十分很常见,比如想远程到服务器编译软件或者需要长时间的运行一个程序,但网络不稳定,一旦掉线就中止了,很浪费时间。 在这种情况,我们就可以使用nohup命令。.../test & 如果仅仅如此使用nohup命令的话,程序的输出会默认重定向到一个nohup.out文件。如果我们想要输出到指定文件,可另外指定输出文件: nohup .

    8.7K20

    Linux可以替换运行中的程序么?

    今天被朋友问及“Linux可以替换运行中的程序么?”,以前依稀记得Linux是可以的(而Windows就不让),于是随口答道“OK”。...结果朋友发来一个执行结果:(test正在运行中) # cp test2 test cp: cannot create regular file `test': Text file busy 看起来是程序被占用...于是自己又再做了几个实验: (1)先rm删除正在运行的test,然后cp test2 test就没有错误了。 (2)先mv改名正在运行的test,然后cp test2 test也没有问题。...Linux由于Demand Paging机制的关系,必须确保正在运行中的程序镜像(注意,并非文件本身)不被意外修改,因此内核在启动程序后会锁定这个程序镜像的inode。...不过想想也可以宽恕,毕竟ld也是用户态程序,没有权利去锁定inode,也不应与内核的文件系统底层实现耦合。 到这里都还算在情理之中,看起来Linux也都处理的很好。

    6.4K20

    Linuxscreen安装与使用,后台运行程序

    先检测是否已经自带或者安装好了screen。 screen -ls 如果提示command没找到,说明没安装,不过无所谓,其实直接执行安装过的话会更新或者不进行任何操作。...新建一个名为test窗口,并进入该窗口: screen -S test 新建一个没有名字窗口,并且在新窗口中执行某命令: screen python /dir/xx.py 查看哪些窗口在运行: screen...-ls 运行结果: 恢复进程,进入test窗口: screen -r 6064上方的数字PID 或者: # 恢复名为test窗口 screen -r test 如果ls出来的窗口列表有dead状态的窗口...,可以自动清除S去的窗口: screen -wipe 如果我们想离开窗口想要程序后台运行: 假如现在在screen test窗口里面:使用Ctrl+A+D离开该窗口。...如果已经不在screen窗口中,可以远程session detached名为test窗口:screen -d test 杀死某个窗口(窗口外部): kill -9 pid 实践: 使用screen后台运行程序

    40840

    在后台运行相应程序windows与linux

    有的时候由于开发任务,我们需要在后端去运行相应的代码。test.py 在windows运行代码 进入CMD ,之后再相应的.py。...文件执行pythonw test.py即可 在linux 使用命令: nohup python -u test.py > test.log 2>&1 & 最后的&表示后台运行 2 输出错误信息到提示符窗口...linux 查看端口 netstat命令各个参数说明如下:   -t : 指明显示TCP端口   -u : 指明显示UDP端口   -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议...(protocol)与资料的程序)   -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。   ...查看某一端口的连接客户端IP 比如3306端口 netstat -anp |grep 3306 netstat -an 查看网络端口 lsof -i :port,使用lsof -i :port就能看见所指定端口运行程序

    1.6K50

    Linux(Ubuntu版)编写运行C语言程序

    但在Linux系统里,需要熟练掌握在Terminal里编写C语言程序,进行编译调试。本章主要介绍在Linux的终端下编写C程序并编译运行。...的vi编辑器 1)Linux的vi编辑器分为三种模式,分别为一般模式、插入模式、底行指令模式,进入三种模式的方法分别如下: 一般模式(刚进入的模式) 进入vi时的模式,当前为插入模式按ESC键可到一般模式...插入模式(或称为编辑模式) 按A,a,I,i,O,o进入(有所区别,按照效率选择) 底行指令模式 :,/,?...2)vi编辑器的一些操作指令 一般模式 底行指令模式 [N]dd:剪切行内容。 [N]yy:复制行内容。 [N]x:剪切从光标处开始的N个字符。...(2)使用前文提到的命令编写C程序,保存并退出。 (3)使用 gcc test.c -o test 和 ./test 编译生成文件并运行

    4.2K30

    Linux系统如何运行.sh文件的实现

    Linux系统运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh):...1、在任何路径,输入该文件的绝对路径/root/datelog.sh就可执行该文件(当然要在权限允许情况) ?...第二种(这种办法不需要文件具备可执行的权限也可运行): 1、在该文件路径sh加上文件名字即可,sh datelog.sh ?...2、在任意路径,sh 加上文件路径及文件名称:sh /root/ datelog.sh ?...: 1、修改可执行权限:chmod u+x hello.sh 2、任意打开一个文件夹,选择左上角的【编辑】->【首选项】 选择【打开可执行文本文件时运行它们】即可实现双击运行

    12.2K21

    如何避免程序运行过程中出现错误中断程序?(

    比如我们程序要求传入的是数字,使用者却传入的是字符;读取文件内容却没有传入文件等操作,从而导致程序报错停止运行,给人不好的体验。 ?...案例1-求商的程序 下面的程序因为除数是0,所以报错提示了,但是用户可能看不懂这种提示报错,不知道如何正确输入。 ? 下面因为分母变成字符串类型了,所以也出现报错了。 ?...将程序改成下面的样子容错性就会很好了,并且提示也非常友好。 ? 案例2-文件操作程序 下面程序打开一个不存在的文件发生了报错。 ?...异常处理 异常就是我们上节课提到的哪些报错情况,程序出现异常导致程序停止运行了。为了解决这个问题,我们可以在程序中使用异常处理,具体可以看下面的图片: ?...这是因为,与其让程序因条件错误在不定时刻发生崩溃,不如在错误条件出现时,就直接让程序崩溃。

    1.3K20

    Linux程序如何被执行的

    之前写过一篇文章 Linuxc语言中的main函数是如何被调用的,该篇文章侧重于从user space层面讲程序运行,而文章中提到的有关kernel space层面的相关系统调用,比如fork、execve...分配struct linux_binprm实例,并赋值给bprm。 2. 打开filename指向的程序,并赋值给file变量。 3. 将file变量赋值给bprm->file。 4....linux可执行文件的格式一般为elf,所以我们直接看其load_binary方法: // fs/binfmt_elf.c static int load_elf_binary(struct linux_binprm...加载这些库,并解析相应的函数地址 // 之后再调用源程序自己的入口函数,这样,也就对应到文章开始提到的 // main函数是如何被调用的那篇文章了。...好了,到这里,整个程序的内核部分的执行流程就讲完了,结合本文开始提到的那篇文章 Linuxc语言中的main函数是如何被调用的,有关linux程序的执行就全部讲清楚了。

    3.2K20
    领券