首页
学习
活动
专区
工具
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可以替换运行中的程序么?”,以前依稀记得Linux是可以的(而Windows就不让),于是随口答道“OK”。...结果朋友发来一个执行结果:(test正在运行中) # cp test2 test cp: cannot create regular file `test': Text file busy 看起来是程序被占用...Linux由于Demand Paging机制的关系,必须确保正在运行中的程序镜像(注意,并非文件本身)不被意外修改,因此内核在启动程序后会锁定这个程序镜像的inode。...这就是为什么cp在用“O_WRONLY|O_TRUNC”模式open目标文件时会失败。而先rm再cp的话,新文件的inode其实已经改变了,原inode并没有被真正删除,直到内核释放对它的引用。...不过想想也可以宽恕,毕竟ld也是用户态程序,没有权利去锁定inode,也不应与内核的文件系统底层实现耦合。 到这里都还算在情理之中,看起来Linux也都处理的很好。

    6.4K20

    Linux程序运行时加载动态库失败的解决方法

    Linux下不能加载动态库问题 当出现下边异常情况 ....cluster export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPI_HOME/.share/lib 在终端执行source /etc/profile 使配置文件生效 程序运行时加载动态库失败的解决方法...另外一个原因就是已经安装了该共享库,但是执行需要调用该共享库的程序的时候,程序按照默认共享库路径找不到该共享库文件。...解决方法如下: 如果共享库文件安装到了 /lib 或 /usr/lib 目录下,那么执行一 ldconfig 命令。...那可以 export 一个全局变量 LD_LIBRARY_PATH,然后运行程序的时候就会去找个目录中找共享库。 LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库.

    3.5K11

    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查看pid 对应的程序_用户程序可以在内核态运行

    2、系统在运行每个进程时都会关联几个号,分别为pid、ppid、uid、euid。进程的pid为运行进程时,系统自动分配的,用于唯一标识此进程的一个整数。进程的ppid就是进程的父进程的pid。...同时,系统还会为运行的进程分配一个进程uid和进程euid,用于判断文件的执行权限。一般情况,进程uid和进程euid等于运行这个进程的用户uid。...另外,如果可执行文件的setuid位有效,则运行这个可执行文件时,进程uid还是用户的uid,而进程euid则会暂时被修改成该可执行文件的所有者用户uid,直到该进程结束。...一句话,在某个进程中,进程pid和ppid是唯一标识该进程的,它不会改变,而进程uid与运行该进程的用户uid相同,进程euid则与uid相同,只有运行设置了setuid位的文件时才会把euid改为这个文件的所有者用户...发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234569.html原文链接:https://javaforall.cn

    1.7K10

    Linux系统运行WinForm程序

    Linux系统,虽然也有桌面窗体应用程序,但应用很少。 能否将WinForm程序移植到Linux系统上面呢?...目前,Novell公司的开源项目mono提供了将.NET程序运行在各种非Windows平台的能力,例如控制台程序,WinForm程序和ASP.NET等,下面我们对各Linux系统进行一实验,由于Liunx...,下面是该虚拟机的系统桌面: 在它的英文环境运行MonoWinForm程序,除了汉字无法显示,没有Redhat中的无法输入文字的问题 切换OpenSUSE系统到简体中文环境,再次运行MonoWinForm...总结: 目前在Linux平台上运行WinForm程序基本上是可行的,推荐使用OpenSUSE发行版,不过对WinForm应用程序的中文支持还有问题。...如果要开发真正跨平台的窗体应用程序,推荐使用Gtk#做开发,它开发出的.NET程序,即可运行Linux系统,也可以运行在Windows系统。

    6.5K70

    linux编译运行c++程序

    要求保存程序名为count-character-in-string.cc,运行方式为 ..../count-character-in-string your-string 在linux环境编译运行c++我也是第一次,同时他这种运行方式也和我之前在win的不一样,在win我都是直接编译运行,...这个题目的要求就是在执行的程序后面跟上一串输入,而这个操作,需要在main函数中添加特定的参数 #include using namespace std; int main(int...首先通过linux自带的编辑软件创建一个test.cc文件 demeen@VM-0-4-ubuntu:~/cpp_code$ nano test.cc 然后将上述代码复制进去,依次摁ctrl+o,Enter...之后输入如下命令,这个命令的含义是使用g++编译test.cc程序,并生成名为test的可执行程序 demeen@VM-0-4-ubuntu:~/cpp_code$ g++ test.cc -o test

    9.5K20

    linux程序在后台运行

    ,并使之运行——但是如果关闭终端,那么这个程序也就随着关闭了。...那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?...tty是所有终端设备的总称 pty是其中一类,伪终端,或者叫虚拟终端 “&” 命令行结尾法: 在Unix/Linux如果想让程序独立终端运行,一般都是使用 & 在命令结尾来让程序自动运行。...# 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #) 其他相关命令: jobs:查看当前有多少在后台运行的命令 fg:将后台中的命令调至前台继续运行...: pkill -9 name killall name kill pid … 命令应用: linux服务器挂机下载;启动相关服务;linux服务器启动进程(尤其是ssh登录) 我就曾经用 nohup

    5.1K10
    领券