[linux] 大批量删除任务

已有人阅读此文 - - 未知

[linux] 大批量删除任务知识,[linux] 大批量删除任务图片 [linux] 大批量删除任务内容,[linux] 大批量删除任务介绍,[linux] 大批量删除任务,空格,均可,删除,投递,替换的正文:

[linux] 大批量删除任务包含:[linux] 大批量删除任务介绍的方法与命令流程等可以帮助到读者。

[linux] 大批量删除任务例图

[linux] 大批量删除任务

标签:简化方法换行而且选择性namecut用户cat一不小心投了巨多任务,或者投递的资源不合理时,想批量杀掉这些任务。

kill的方法就不说了,我这里用qdel的方法。

用了这么一条命令:

qstat |sed '1,2d' |awk F' ' '{print $1}' |sed ':x;N;s/ / /;b x'|cat

再用qdel删除即可。这里还是用了两步,而且用sed将换行符替换为空格很复杂的样子,不友好。

其实可以直接用xargs简化:

qstat |sed '1,2d' |awk F' ' '{print $1}' | xargs qdel

也可根据用户或者运行状态有选择性地删除,如只删等待状态的任务而不删除运行中的任务。

qstat u USERNAME | grep "qw" | cut d" " f1 | xargs qdel

同样,删除运行中的任务:

qstat u USERNAME | grep "r" | cut d" " f1 | xargs qdel

cut和awk均可[linux] 大批量删除任务标签:简化方法换行而且选择性namecut用户cat原文地址:https://www.cnblogs.com/jessepeng/p/11361239.html

 

 


  • linux-kill参数解析

    功能说明:删除执行中的程序或工作。

    语 法:kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

    补充说明:kill可将指定的信息送至程序。预设的信息为 SIGTERM(15), 可将指定程序终止。 

    若仍无法终止该程序, 可使用 SIGKILL(9)信息尝试强制删除程序。

    程序或工作的编号可利用ps 指令或 jobs 指令查看。

    参 数:

    -l <信息编号> 若不加<信息编号>选项, 则-l 参数会列出全部的信息名称。

    -s <信息名称或编号> 指定要送出的信息。

    [程序] [程序]可以是程序的 PID 或是 PGID, 也可以是工作编号。

    1.作用

    kill 命令用来中止一个进程。

    2.格式

    kill [ -s signal | -p ] [ -a ] pid …

    kill -l [ signal ]

    3.参数

    -s:指定发送的信号。

    -p:模拟发送信号。

    -l:指定信号的名称列表。

    pid:要中止进程的ID 号。

    Signal:表示信号。

    4.说明

    进程是Linux系统中一个非常重要的概念。

    Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。 

    我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的, 所关心的是如何去控制这些进程, 让它们能够很好地为用户服务。

    Linux 操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。

    交互进程是由一个Shell 启动的进程。交互进程既可以在前台运行, 也可以在后台运行。 

    批处理进程和终端没有联系,是一个进程序列。

    监控进程(也称系统守护进程)是 Linux 系统启动时启动的进程, 并在后台运行。 

    例如,httpd 是著名的Apache服务器的监控进程。

    kill 命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。

    应用实例一:

    (1) 强行中止(经常使用杀掉) 一个进程标识号为 324 的进程:

    #kill -9 324

    (2) 解除 Linux 系统的死锁

    在 Linux 中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。

    此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。

    当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。

    此时打开一个终端,在那里中止有问题的程序。

    比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用 kill 命令来中止所有包含有Mozolla浏览器的程序。

    首先用top 命令查处该程序的 PID,然后使用kill命令停止这个程序:

    #kill -SIGKILL XXX

    其中,XXX 是包含有 Mozolla 浏览器的程序的进程标识号。

    (3)使用命令回收内存

    我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。

    kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序。

    例如,使用top命令发现一个无用 (Zombie) 的进程,此时可以使用下面命令:

    #kill -9 XXX

    其中,XXX是无用的进程标识号。

    然后使用下面命令:

    #free

    此时会发现可用内存容量增加了。

    (4)killall命令

    Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:

    # killall -HUP inetd

    应用实例二:

    在执行一条find指令时由于时间过长,决定终止该进程。

    首先应该使用ps命令来查看该进程对应的PID,键入ps,显示如下:

    PID TTY TIME COMMAND

    285 1 00:00:00 -bash

    287 3 00:00:00 -bash

    289 5 00:00:00 /sbin/mingetty tty5

    290 6 00:00:00 /sbin/mingetty tty6

    312 3 00:00:00 telnet bbs3

    341 4 00:00:00 /sbin/mingetty tty4

    345 1 00:00:00 find / -name foxy.jpg

    348 1 00:00:00 ps

    可以看到该进程对应的PID是345,现在使用kill命令来终止该进程。键入:

    # kill 345

    再用ps命令查看,就可以看到,find进程已经被杀掉了。

    [例25] 杀掉进程11721

    # ps PID TTY TIME COMMAND

    11668 p1 00:00:00 -tcsh

    11721 p1 00:00:00 cat

    11737 p1 00:00:00 ps

    # kill 11721

    [1] Terminated cat

    附 kill 信号列表

    $ kill -l

    1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL

    5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE

    9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2

    13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17)

    SIGCHLD

    18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN

    22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ

    26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO

    30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1

    36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5

    40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9

    44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13

    48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13

    52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9

    56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5

    60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1

    64) SIGRTMAX

    列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),

    编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。

    不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。

    下面我们对编号小于SIGRTMIN的信号进行讨论。

    1) SIGHUP

    本信号在用户终端连接(正常或非正常)结束时发出, 

    通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。

    登录Linux时,系统会分配给登录用户一个终端(Session) 。

    在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个 Session。

    当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP信号。

    这个信号的默认操作为终止进程,因此前台进程组和后台有终端输出的进程就会中止。 

    不过可以捕获这个信号,比如wget能捕获SIGHUP信号,并忽略它,这样就算退出了Linux登录,wget也能继续下载。

    此外,对于与终端脱离关系的守护进程, 这个信号用于通知它重新读取配置文件。

    2) SIGINT

    程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。

    3) SIGQUIT

    和SIGINT类似, 但由QUIT字符(通常是Ctrl-)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。

    4) SIGILL

    执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行数据段.堆栈溢出时也有可能产生这个信号。

    5) SIGTRAP

    由断点指令或其它trap指令产生. 由debugger使用。

    6) SIGABRT

    调用abort函数生成的信号。

    7) SIGBUS

    非法地址, 包括内存地址对齐(alignment)出错。

    比如访问一个四个字长的整数,但其地址不是4的倍数。

    它与SIGSEGV的区别在于后者是由于对合法存储地址的非法访问触发的(如访问不属于自己存储空间或只读存储空间)。

    8) SIGFPE

    在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢出及除数为0等其它所有的算术的错误。

    9) SIGKILL

    用来立即结束程序的运行. 本信号不能被阻塞、处理和忽略。如果管理员发现某个进程终止不了,可尝试发送这个信号。

    10) SIGUSR1

    留给用户使用

    11) SIGSEGV

    试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据.

    12) SIGUSR2

    留给用户使用

    13) SIGPIPE

    管道破裂。这个信号通常在进程间通信产生,

    比如采用FIFO(管道)通信的两个进程,读管道没打开或者意外终止就往管道写,写进程会收到 SIGPIPE 信号。

    此外用Socket通信的两个进程,写进程在写Socket的时候,读进程已经终止。

    14) SIGALRM

    时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该信号

    15) SIGTERM

    程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理。

    通常用来要求程序自己正常退出,shell命令kill缺省产生这个信号。

    如果进程终止不了,我们才会尝试SIGKILL。

    17) SIGCHLD

    子进程结束时, 父进程会收到这个信号。

    如果父进程没有处理这个信号,也没有等待(wait)子进程,

    子进程虽然终止,但是还会在内核进程表中占有表项, 这时的子进程称为僵尸进程。 

    这种情况们应该避免(父进程或者忽略 SIGCHILD 信号,或者捕捉它,或者wait它派生的子进程, 

    或者父进程先终止,这时子进程的终止自动由 init 进程 来接管) 。

    18) SIGCONT

    让一个停止(stopped) 的进程继续执行. 

    本信号不能被阻塞. 可以用一个handler来让程序在由stopped状态变为继续执行时完成特定的工作. 

    例如, 重新显示提示符. . .

    19) SIGSTOP

    停止(stopped)进程的执行. 注意它和 terminate 以及 interrupt 的区别: 

    该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略.

    20) SIGTSTP

    停止进程的运行, 但该信号可以被处理和忽略. 用户键入 SUSP 字符时(通常是Ctrl-Z) 发出这个信号

    21) SIGTTIN

    当后台作业要从用户终端读数据时, 该作业中的所有进程会收到 SIGTTIN 信号.缺省时这些进程会停止执行.

    22) SIGTTOU

    类似于 SIGTTIN, 但在写终端(或修改终端模式)时收到.

    23) SIGURG

    有"紧急"数据或 out-of-band 数据到达 socket 时产生.

    24) SIGXCPU

    超过 CPU 时间资源限制. 这个限制可以由 getrlimit/setrlimit来读取/改变。

    25) SIGXFSZ

    当进程企图扩大文件以至于超过文件大小资源限制。

    26) SIGVTALRM

    虚拟时钟信号. 类似于SIGALRM, 但是计算的是该进程占用的CPU时间.

    27) SIGPROF

    类似于SIGALRM/SIGVTALRM, 但包括该进程用的CPU时间以及系统调用的时间.

    28) SIGWINCH

    窗口大小改变时发出.

    29) SIGIO

    文件描述符准备就绪, 可以开始进行输入/输出操作.

    30) SIGPWR

    Power failure

    31) SIGSYS

    非法的系统调用。在以上列出的信号中,程序不可捕获、阻塞或忽略的信号有:SIGKILL,SIGSTOP

    不能恢复至默认动作的信号有:SIGILL,SIGTRAP

    默认会导致进程流产的信号有:SIGABRT,SIGBUS,SIGFPE,SIGILL,SIGIOT,SIGQUIT,SIGSEGV,SIGTRAP,SIGXCPU,SIGXFSZ

    默认会导致进程退出的信号有:SIGALRM,SIGHUP,SIGINT,SIGKILL,SIGPIPE,SIGPOLL,SIGPROF,SIGSYS,SIGTERM,SIGUSR1,SIGUSR2,SIGVTALRM

    默认会导致进程停止的信号有:SIGSTOP,SIGTSTP,SIGTTIN,SIGTTOU

    默认进程忽略的信号有:SIGCHLD,SIGPWR,SIGURG,SIGWINCH

    此外,SIGIO在SVR4是退出,在4.3BSD中是忽略;SIGCONT在进程挂起时是继续,否则是忽略,不能被阻塞。

    1[linux] 大批量删除任务系部分转载自网络,如有对程序员或作者侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与本网站无关。

    2[linux] 大批量删除任务这篇文章的原创性以及文中对于编程运维专业度的陈述文字 和内容未经本站证实,对本文以及其中全部或者部分内容及图片的有效性、文字的真实性、完整性、及时性本站不作任何保证或承诺以及推荐,本站非盈利,有对图片文字不适的请程序员及读者仅作参考并自行核实相关内容

    3这篇[linux] 大批量删除任务的文章,涉及的空格,均可,删除,投递,替换命令,变量,函数,代码,类,库等皆是代称