在linux下如何用命令行的形式执行Java程序

在linux下如何用命令行的形式执行Java程序,第1张

1、java程序一般都有启动脚本

2、例如tomcat/bin

/startupsh

3、例如weblogic

/startWebLogicsh

4、也可以用java直接启动jar包,例如

/doyoo/jdk16/bin/java -DRmode=test -Dlog4jconfiguration=file:conf/log4jproperties -classpath runjar nettestji

mserverbootBooter

Linux编程中在命令行启动另一个可执行文件或调用命令用system函数最简单了,这个函数原理是在你编写的那个程序的内部启动另一个程序或命令,从而创建一个新进程,并等待这个进程执行完毕退出。如果正常执行,system函数将返回被执行程序或命令的退出码;如果无法运行这个程序或命令,将返回错误代码127;如果是其他错误,返回-1。这个函数的原型是:

#include <stdlibh>

int system(const char string);

参数string是将要执行的程序文件名或路径,如果是启动一个命令就是一个命令字符串。

还有一种执行外部程序的方法是exec系列函数,一般是在fork的子进程里面调用exec系列函数,那主进程里直接调用exec系列不行吗,为什么要fork再在子进程里调用呢?因为exec系列的函数(包括execl函数)都是将当前进程替换成新进程,也就是说新进程启动后原来的进程就不存在了,exec系列函数后面的那些代码就不会再执行了。如果你不放在fork子进程里面,那主进程在执行execl函数后就完全不存在了,所以exec系列函数的使用都是先fork然后在子进程里面调用。因为exec系列函数都要使用fork调用,所以我一般是用system函数。

man ls

man pages手册页

显示说明

数字说明

Ctrl+Alt+F1/F2F6

Ctrl+Alt+F7,回到图形化界面

who,看看那几个tty连接着

Linux系统有7个运行级别(runlevel):常用的是3和5

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS),没有网络服务

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11表示控制台,进入图形界面

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

运行级别

接通电源BIOS自检,按照BIOS中设置的启动设备(通常是硬盘)来启动, *** 作系统接管硬件以后,

首先读入 /boot 目录下的内核文件。

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。

init 程序首先是需要读取配置文件 /etc/inittab

许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

init进程的一大任务,就是去运行这些开机启动的程序。

但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。

Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。

也就是说,启动时根据"运行级别",确定要运行哪些程序。

============================================================

Linux系统有7个运行级别(runlevel):

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS)

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

在init的配置文件中有这么一行: si::sysinit:/etc/rcd/rcsysinit 它调用执行了/etc/rcd/rcsysinit,

而rcsysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rcsysinit是每一个运行级别都要首先运行的重要脚本

它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务

rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。

init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:

一般来说,用户的登录方式有三种:

(1)命令行登录

(2)ssh登录

(3)图形界面登录

在linux领域内大多用在服务器上,很少遇到关机的 *** 作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机 。

正确的关机流程为:sync > shutdown > reboot > halt

sync 将数据由内存同步到硬盘中

shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中

Shutdown –h now 立马关机

Shutdown –r now 系统立马重启

reboot 就是重启,等同于 shutdown –r now

halt 关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。

重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。

1 重启Linux,见到下图,在3秒钟之内按下回车

2 三秒之内要按一下回车,出现如下界面

3 按下e键就可以进入下图

4 移动到下一行,再次按e键

5 移动到下一行,进行修改

修改完成后回车键,然后按b键进行重新启动进入系统

6 移动到下一行,进行修改

最终修改完密码,reboot一下即可。

以上就是关于在linux下如何用命令行的形式执行Java程序全部的内容,包括:在linux下如何用命令行的形式执行Java程序、怎么在linux中调用命令行中的命令,比如我想在一个程序中用命令行运行另一个程序、Linux之三Linux的启动过程/关机等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9383042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存