在linux系统中运行java程序

最近需要把自己写的一个tcp的程序放在云端,但是,不熟悉linux系统。

遇到这个问题:

-bash: javac: command not found

百度之后,发现是因为我的java的path配置上有问题。但是我的java又可以正常运行,着实让我很疑惑的。看看我的path配置,是这样的:

export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
修改后:
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/java/jdk1.8.0_171/bin:/usr/java/jdk1.8.0_171/jre/bin:$PATH

的确没有这个java的配置信息,不禁感叹linux系统的强大啊。

source /etc/profile

刷新保存下修改。重启系统。

再进去,执行jar程序就行了

[root@thelinux java]# java -jar TCP.jar
IP:0.0.0.0/0.0.0.0	开始监听

但是目前,该窗口就不能关闭,不能做其他事,就不方便了。参考了其他前辈的博客,整理了下:

Linux在执行jar包,有几种方式:

// 1、就像我一开始用的 ,当前窗口锁定,按CTRL + C打断程序运行,或直接关闭窗口
java -jar TCP.jar

// 2、& 就表示当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
java -jar TCP.jar &

//3、意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
nohup java -jar TCP.jar &

nohup java -jar TCP.jar >temp.txt &  //将输在控制台的内容打印在temp.txt里面。

//4、但是,虽然程序依旧在执行,也是在后台执行,我如何确定他的执行状态呢?
jobs 
查看当前后台程序的执行,会得到他们的执行id,当需要吧后台程序调到前台
fg id

然后,就没了吧。很感谢网上的大佬的博客。


版权声明:本文为qq_33356083原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。