java获取linux,linux查看java进程

大家好,java获取linux相信很多的网友都不是很明白,包括linux查看java进程也是一样,不过没有关系,接下来就来为大家分享关于java获取linux和linux查看java进程的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

如何在java程序中调用linux命令或者shell脚本

这里不得不提到java的process类了。

process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。

process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。

至于详细的process类的介绍放在以后介绍。

另外还要注意一个类:Runtime类,Runtime类是一个与JVM运行时环境有关的类,这个类是Singleton的。

这里用到的Runtime.getRuntime()方法是取得当前JVM的运行环境,也是java中唯一可以得到运行环境的方法。(另外,Runtime的大部分方法都是实例方法,也就是说每次运行调用的时候都需要调用到getRuntime方法)

下面说说Runtime的exec()方法,这里要注意的有一点,就是public Process exec(String [] cmdArray, String [] envp);这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数,envp感觉应该和C中的execve中的环境变量是一样的,envp中使用的是name=value的方式。

下面说一下,如何使用process来调用shell脚本

例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:

这个var参数就是日期这个201102包的名字。

String shpath="/test/test.sh";//程序路径

Process process=null;

String command1=“chmod 777”+ shpath;

process= Runtime.getRuntime().exec(command1);

process.waitFor();

String var="201102";//参数

String command2=“/bin/sh”+ shpath+””+ var;

Runtime.getRuntime().exec(command2).waitFor();

注意:

1

我为什么要使用 chmod 777命令呢?在有的机器上面,可能没有设置权限问题。这是你在linux下面执行shell脚本需要注意的问题。没有的话,就需要添加权限,就用chmod 777,否则在执行到Runtime.getRuntime().exec的时侯会出现Permission denied错误。

2

waitFor()这个也是必不可缺的,如果你需要执行多行命令的话,把waitFor()这个加上。

linux获取文件路径javalinux获取文件路径

linux怎么查看某个进程执行的文件路径?

linux下进程运行后,进程信息存储在/proc/进程id目录下面,进程id查看命令ps-ef|grep进程名,vi/proc/进程id/environ搜索PWD字段,则是该进程运行所在目录

linux系统怎么在文件夹里搜索文件?

方法1:使用find命令在Linux中搜索文件和文件夹

find命令被广泛使用,并且是在Linux中搜索文件和文件夹的著名命令。它搜索当前目录中的给定文件,并根据搜索条件递归遍历其子目录。

它允许用户根据大小、名称、所有者、组、类型、权限、日期和其他条件执行所有类型的文件搜索。

运行以下命令以在系统中查找给定文件。

#find/-inamesshd_config

/etc/ssh/sshd_config

运行以下命令以查找系统中的给定文件夹。要在Linux中搜索文件夹,我们需要使用-type参数。

#find/-typed-inamessh

/usr/lib/ssh

/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh

/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh

/etc/ssh

使用通配符搜索系统上的所有文件。我们将搜索系统中所有以.config为扩展名的文件。

#find/-name*.config

/usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll.config

/usr/lib/mono/gac/avahi-ui-sharp/0.0.0.0__4d116c78973743f5/avahi-ui-sharp.dll.config

/usr/lib/python2.7/config/Setup.config

/usr/share/git/mw-to-git/t/test.config

/var/lib/lightdm/.config

/home/daygeek/.config

/root/.config

/etc/skel/.config

使用以下命令格式在系统中查找空文件和文件夹。

#find/-empty

使用以下命令组合查找Linux上包含特定文本的所有文件。

#find/-typef-execgrepPort22{};-print

#find/-typef-print|xargsgrepPort22

#find/-typef|xargsgrepPort22

#find/-typef-execgrep-HPort22{};

方法2:使用locate命令在Linux中搜索文件和文件夹

locate命令比find命令运行得更快,因为它使用updatedb数据库,而find命令在真实系统中搜索。

它使用数据库而不是搜索单个目录路径来获取给定文件。

locate命令未在大多数发行版中预安装,因此,请使用你的包管理器进行安装。

数据库通过cron任务定期更新,但我们可以通过运行以下命令手动更新它。

$sudoupdatedb

只需运行以下命令即可列出给定的文件或文件夹。在locate命令中不需要指定特定选项来打印文件或文件夹。

在系统中搜索ssh文件夹。

#locate--basenamessh

/etc/ssh

/usr/bin/ssh

/usr/lib/ssh

/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh

/usr/lib/go/src/cmd/go/testdata/failssh/ssh

/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh

在系统中搜索ssh_config文件。

#locate--basenamesshd_config

/etc/ssh/sshd_config

方法3:在Linux中搜索文件使用which命令

which返回在终端输入命令时执行的可执行文件的完整路径。

当你想要为可执行文件创建桌面快捷方式或符号链接时,它非常有用。

which命令搜索当前用户而不是所有用户的$PATH环境变量中列出的目录。我的意思是,当你登录自己的帐户时,你无法搜索root用户文件或目录。

运行以下命令以打印vim可执行文件的完整路径。

#whichvi

/usr/bin/vi

或者,它允许用户一次执行多个文件搜索。

#which-avisudo

/usr/bin/vi

/bin/vi

/usr/bin/sudo

/bin/sudo

方法4:使用whereis命令在Linux中搜索文件

whereis命令用于搜索给定命令的二进制、源码和手册页文件

Linux如何打开文件夹?

1、进入到系统之后,双击箭头所指的符号,就可以进入系统根目录了,相当于Windows里面的“我的电脑”。

2、点击“Computer”,就可以看见根目录下的文件和文件夹了。

3、窗口上方显示的是当前所在的目录位置,可以随时查看自己处于哪个目录中。

4、如果使用的是Linux系统的命令行,则方法又会不一样了。首先要明确自己需要进入哪个位置,比如我现在想要到/usr/local/nginx/conf这个目录中去。这时使用Linux命令cd/usr/local/nginx/conf就可以了,注意cd后面要加空格。

5、此时我已经进入到我想去的目录下面了,命令ls查看当前目录下有哪些文件和文件夹。

6、由于是命令行界面,操作者在多次cd之后不清楚自己此时在哪个目录下,这时你需要使用pwd这个命令来查看你当前所处的目录位置,

7、如果要查看文件内容的话,就需要使用Linux系统的文件编辑器vi或者vim,建议使用vim,可读性会更好一些。此时我需要查看fastcgi.conf这个文件的内容,就使用命令vimfastcgi.conf,注意vim后面也有个空格。

8、这样就可以查看文件的具体内容了,

Linux下怎样搜索文件?

1、linux下最强大的搜索命令为”find“。它的格式为”find指定目录>指定条件>指定动作>“;比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find/-name'interfaces'“;

2、使用locate搜索linux系统中的文件,它比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文件信息。使用locate命令在根目录下搜索interfaces文件的命令为”locateinterfaces“;

3、使用which命令查看系统命令是否存在,并返回系统命令所在的位置。使用which命令查看grep命令是否存在以及存在的目录的命令为”whichgrep“;

4、使用which命令查看系统命令是否存在,并返回系统命令所在的位置。使用which命令查看grep命令是否存在以及存在的目录的命令为”whichgrep“。

5、使用type命令查看系统中的某个命令是否为系统自带的命令。使用type命令查看cd命令是否为系统自带的命令;查看grep是否为系统自带的命令。

如何在Linux下递归查看所有文件或目录?

你可以进入超级用户root下面,使用:ls-aR来进行显示。#ls-aRcr>其中:a选项表示列出所有的文件,包括隐藏文件;R表示递归地显示该子目录下面的所有文件及子目录。

在java中怎么去获取linux系统开机时的用户名和密码

有个好方法可以获取Linux用户的密码。

事实上,不仅是Linux用户,Windows用户,Mac用户也可以。那就是编写个仿真登录界面,骗取用户来安装你这个仿真界面。这样用户用户在登录时就会启动你的仿真界面,而不是真正的界面,所以当他输入密码时就会由你的程序把密码发送给你。这可能是有史以来最好的方法了。

但问题是:谁会上你的当?

Linux系统有sandbox程序来识破你的阴谋、

安全策略软件SElinux来提醒并阻止用户安装你的登录程序,

Windows用户也有第三方安全软件来防止类似的事情发生,

Mac的安全标准高到N年内几乎都不用打补丁。

所以,你仍然要把自己当作鸡蛋去碰石头吗?如果是,那么请去吧,因为没人在乎。

阅读剩余
THE END