批量kill java进程方法-引出子shell和反引用

方法:

kill –9 `pgrep java`

使用上述命令可以将服务器上运行的所有java进程一次性kill掉。

扩展:子shell和反应用在shell脚本中的作用

先来看一个子shell的例子:

# cat text1.txt
1
2
3
4
5
# text01=$(cat text1.txt)
#echo $text01
1 2 3 4 5

从例子可以看出,子shell是用$()引用起来的部分,子shell运行作为一个单独的进程,并不会父shell产生影响。子shell输出默认不保留换行符。

再来看一个反引用例子,其实上边kill java进程就是使用的反引用实现的,当然也可以通过子shell实现。

# echo `cat text1.txt`
1 2 3 4 5

反引用默认也是不保留换行符。如果想保留换行符可以使用双引号将反引用部分引用起来,如下:

# echo "`cat text1.txt`"
1
2
3
4
5

子shell和反引用在shell脚本编程中作用还是很重要的。

时间: 2024-08-13 05:21:30

批量kill java进程方法-引出子shell和反引用的相关文章

linux下如何批量杀JAVA进程或某个进程方法

在工作中经常需要停止JAVA进程,停止时间也比较长,那么有时候因为一些情况,需要把 linux 下JAVA所有进程 kill 掉,又不能用killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用ps, grep, cut 和 kill 一起操作. ok,下面给出具体的参考: ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9 运行这条命令将会杀掉所有

SHELL脚本攻略(读书笔记)--1.11 命令替换和子shell的作用

1.11.1 命令替换 Linux中使用反引号"``"(在波浪线的按键上)或者$()来执行命令替换.一般以$()更直观也更方便敲入. [[email protected] tmp]# echo Can you tell me what date it is?  Oh my pleasure $(date +%F)                    Can you tell me what date it is? Oh my pleasure 2016-09-25 [[email p

子shell

子shell的概念贯穿整个shell,写shell脚本时更是不可不知.所谓子shell,即从当前shell环境新开一个shell环境,这个新开的shell环境就称为子shell(subshell),而开启子shell的环境称为该子shell的父shell.子shell和父shell的关系其实就是子进程和父进程的关系,只不过子shell和父shell所关联的进程是bash进程. 子shell会从父shell中继承很多环境,如变量.命令全路径.文件描述符.当前工作目录.陷阱等等,但子shell有很多

批量清理mysql进程

批量kill掉无用的sql语句,避免影响拖垮数据库. MariaDB [(none)]> show processlist; +--------+------+-----------------+----------+---------+------+-------+------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +--------+------

保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护

本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ?Android.content.Context  ?android.content.ContextWrapper  ?android.app.Service Service是应用程序Application的一个组件(component).它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务.Service

批量杀掉多个pid文件中记录的pid进程, 并集成到shell脚本中

1 head_files=`find ./fmsConf/ -name "*.pid"` 2 for file in $head_files 3 do 4 cat $file | awk '{print $1}' | xargs kill -9 5 rm -f $file 6 done 代码如上 解释: 1. 查找到 ./fmsConf目录下的所有的pid文件 2. 对查找到的文件进行遍历 3. 开始遍历 4. 分开解释: 1. cat $file : 打印出file文件的内容 2.

linux内存不足导致java进程被kill掉

记得之前在国内现金贷贷超放量时,后台java进程莫名奇妙就没了, 查看 /var/log/message 出现如下日志,标明,Linux 系统自身把 Java 进程杀掉了 Jun 28 02:58:27 hilife-dev001 kernel: Out of memory: Kill process 14561 (java) score 52 or sacrifice child 当 Linux 系统内存不足时,系统会把当前系统占用系统内存过高的进程当做流氓进程,然后系统发出信号将这个流氓进程

Mac / Linux Shell 批量重命名的方法总览

Linux Shell 批量重命名的方法总览 0.用类似 GPRename 这样的图形软件进行批量重命名 1.删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak 2.把 .jpe 文件后缀修改为 .jpg: rename 's/\.jpe$/\.jpg/' *.jpe 3.把所有文件的文件名改为小写: rename 'y/A-Z/a-z/' * 4.将 abcd.jpg 重命名为 abcd_efg.jpg: for var in *.jpg; do mv "$var

Linux下java进程CPU占用率高-分析方法

今天登陆同事的一台gateway 开始以为hive环境登陆不了了,仔细一看看了下是因为机器很卡,我每次等几秒没登陆就ctrl+c了,看了下是有个java进程cpu:340.4%  mem:14.6% 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. 通过top命令找到可疑进程PID top 一下 可以看出java进程CPU利用率一直保持100%,稳居不下,找到PID 24138 2. 找出消耗资源最高的线程 top -H -p  29580