Linux是一种开源的操作系统,以其可靠性和稳定性而闻名于世。在Linux中,运行后台任务是一项非常常见的操作。然而,有时候我们需要在终端中运行一些耗时的程序并在后台运行,以便在程序运行的同时继续处理其他任务。本文将介绍如何在Linux中使用参数实现后台运行。
成都网站建设哪家好,找创新互联!专注于网页设计、成都网站建设、微信开发、小程序制作、集团成都定制网站等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都广告设计等众多领域,积累了大量丰富的经验,同时也获得了客户的一致好评!
使用&符号实现后台运行
在Linux中,可以使用&符号将进程转换为后台进程。假设我们需要在后台运行一个脚本,脚本的名称为myscript.sh。在终端中输入以下命令即可:
“`
$ ./myscript.sh &
“`
运行该命令后,该脚本将在后台运行,并且我们可以继续在终端中执行其他任务。
使用nohup命令实现后台运行
虽然使用&符号可以将程序转换为后台进程,但是当我们退出终端会话时程序会被自动结束。为了避免这种情况,我们可以使用nohup命令将程序转换为独立的进程,以便在终端会话结束后继续运行程序。
使用nohup命令的语法如下:
“`
$ nohup command &
“`
其中,command是要运行的命令或脚本。
例如,我们要在后台运行一个名为myscript.sh的脚本,并使用nohup命令使该脚本在终端会话结束后继续运行,则可以输入以下命令:
“`
$ nohup ./myscript.sh &
“`
使用screen命令实现后台运行
除了使用&符号和nohup命令之外,还可以使用screen命令将进程转换为后台进程。screen是一个用于运行多个终端会话的工具。使用screen命令可以创建一个新的分离式会话,并在会话中运行程序,在需要时可以重新连接到该会话并查看程序的输出。
使用screen命令的语法如下:
“`
$ screen -S session_name command
“`
其中,session_name是要创建的新会话的名称,command是要运行的命令或脚本。
例如,我们可以使用以下命令在名为test_session的新会话中运行myscript.sh脚本:
“`
$ screen -S test_session ./myscript.sh
“`
要从当前会话中退出并留下会话仍在运行,请使用快捷键Ctrl+A,然后按d键。此时会话仍在运行并保持活动状态。要重新连接到该会话,请使用以下命令:
“`
$ screen -r test_session
“`
注意,在运行脚本之前,需要确保已安装screen命令。如果未安装,则可以使用以下命令安装:
“`
$ sudo apt-get install screen
“`
在Linux中,使用&符号、nohup命令和screen命令都可以将进程转换为后台进程,以便在程序运行的同时继续处理其他任务。使用这些方法可以大大提高Linux系统的效率和灵活性。
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220执行linux命令基,基本思路是从控制台获得输入的指令,启动命令行执行命令,兄并芦捕羡带捉异常,示例如下:
public class TestRunTime {
public static void main(String args) throws IOException, InterruptedException {
String cmd = “”;
if(args == null || args.length == 0){
System.out.println(“请输入命令行参数”);
}else{
for(int i=0;i
cmd += args + ” “;
}
}
try {
Process process = Runtime.getRuntime().exec(cmd);//执行命令
InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null) {//输出结果
System.out.println(line);
}
} catch (java.io.IOException e) {
System.err.println(“IOException ” + e.getMessage());//捕捉异常
}
}
}
java提供的Runtime 这个类来执行系统命令的,用法如下:
1.得到Runtime对象。
public void execCommand(String command) throws IOException {
// start the ls command running
//String args = new String{“sh”, “-c”, command};
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(command);//这句话就型基是shell与高级语言间的调用
//如果有参数的话桥困可以用另外一个被重载的exec方法
//实际上这样执行时启动了一个子进程,它没有父进程的控制台
//也就看不到输出,所以需要用输出流来得到shell执行后的输出
2.得到输入流。
InputStream inputstream = proc.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
// read the ls output
String line = “”;
StringBuilder = new StringBuilder(line);
while ((line = bufferedreader.readLine()) != null) {
//System.out.println(line);
.append(line);
.append(‘\n’);
}
//tv.setText(.toString());
//使用exec执行不会等执行成功以后才返回,它会立即返回
//所以在某些情况下是很要命的(比如复制文件的时候)
//使用wairFor()可以等待命令执行完成以后才敏租念返回
try {
if (proc.waitFor() != 0) {
System.err.println(“exit value = ” + proc.exitValue());
}
}
catch (InterruptedException e) {
System.err.println(e);
}
}
关于linux 后台运行 参数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技公司主营:网站设计、网站建设、小程序制作、成都软件开发、网页设计、微信开发、成都小程序开发、网站制作、网站开发等业务,是专业的成都做小程序公司、成都网站建设公司、成都做网站的公司。创新互联公司集小程序制作创意,网站制作策划,画册、网页、VI设计,网站、软件、微信、小程序开发于一体。
当前标题:如何在Linux中使用参数实现后台运行?(linux后台运行参数)
URL地址:http://www.shufengxianlan.com/qtweb/news0/181850.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联