zoukankan      html  css  js  c++  java
  • Linux个人常用命令记录

    #查看Java进程
    ps -ef|grep java
    #强制杀掉进程(慎用) kill
    -9 进程号
    #中断进程执行 ctrl
    + c
    #进程挂起,进程被暂时中断,在后台挂起 ctrl
    + z
    #ctrl
    +z后再将进程调整至前台 fg

    #ctrl+z后再将进程调整至后台运行
    bg

    #查看Linux中的cache/buffer情况
    free -h

    #仅清除页面缓存PageCache的方法
    echo 1 > /proc/sys/vm/drop_caches

    #清除目录项和inode节点
    echo 2 > /proc/sys/vm/drop_caches

    #清除页面缓存、目录项和inode节点
    echo 3 > /proc/sys/vm/drop_caches

    一、nohup 命令
    nohup 是 no hungup 的缩写,意思是不挂断 。

    我们在使用 Xshell 等工具,远程执行 Linux 脚本时,有时候会由于网络问题,导致客户端失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用nohup 指令来运行指令,使程序可以忽略挂起信号继续运行。

    语法格式:

    nohup command [arg...] [&]
    1
    1.1、只使用 nohup
    只使用 nohup ,即 nohup command [arg...] ,

    无法标准输入(即控制台无法输入),标准输出 和 错误信息保存到 nohup.out文件里面,关闭客户端后,命令仍然会运行。

    例如:

    执行 nohup sh test.sh 脚本命令后,终端不能接收任何输入,标准输出 和 标准错误 会输入到当前目录的nohup.out 文件。即使关闭xshell 退出后,当前session依然继续运行。

    1.2、只使用 &
    只使用 &,即 command [arg...] [&] ,

    可以标准输入(控制台可以输入内容,可以交互),但无法将 标准输出 和 错误信息 输入到文件中。关闭客户端后,命令会就马上停止。

    例如:

    执行 sh test.sh & 脚本命令后 ,关闭 xshell,对应的任务也立刻停止。

    1.3、nohup 和 & 一块使用(推荐使用)
    nohup 和 & 一块使用 ,即 nohup command [arg...] &,

    可以标准输入(即控制台能输入文本进行交互),也能将 标准输出 和 错误信息 输出信息保存到 nohup.out 中,关闭客户端后命令仍然会运行。

    例子1:
    执行 nohup sh test.sh & 命令后,既能标准输入,就是终端能够接收任何输入,也能将 标准输出 和 错误信息 的日志输入到 nohup.out 文件,即使关闭xshell,退出当前session依然继续运行。

    例子2:
    nohup ./startWeblogic.sh & ,即使退出ssh界面,命令仍然在后台执行,并且将日志打印到 nohup.out 文件中。

    1.4、总结
    nohup command [arg...] [&]

    运行 nohup command [arg...] 命令,忽略所有挂断信号;
    如果想在 后台运行命令 ,则需要在后面加上& ,即 nohup command [arg...] & 。
    nohup 命令默认输入日志到当前目录的 nohup.out 文件中,也可以使用 >file.log 重定义日志文件。
    如果当前目录的 nohup.out 文件不可写,则重定向到 $HOME/nohup.out 文件中。


    二、nohup、 & 、 >(推荐使用)
    上面提到的日志文件是 nohup.out ,如果将日志输入到其他文件中时,这时用到了 重定向 ,语法格式是 > 日志文件名。

    nohup、 & 、 > 三者一块使用的 语法格式 :

    nohup command >file 2>&1 &

    上面命令可以拆分成三部分 nohup command & 、 >file 和 2>&1 。

    nohup command & :上面已经说过,就是后台运行命令;

    >file :将日志(即 标准输出(1)) 输出到 file 文件中 。
    参数说明:
    1) > :重定向的符号,
    2) file :日志文件名称。
    3) >file : 将日志 重定向 写入到 file 文件中。

    2>&1 是将 错误信息(2) 重定向到 标准输出(1) 。
    而 标准输出(1) 是输入到 file 文件中,所以 错误信息(2)、 标准输出(1) 都 写入到 file 文件中。

    相关的参数说明:
    /dev/null 表示空设备文件。不输出任何的日志时,使用此参数。
    0 表示 stdin (standard input) 标准输入,
    1 表示 stdout (standard output) 标准输出,
    2 表示 stderr (standard error) 标准错误信息;

    2>error :将 错误信息(2) 重定向 到 error 文件中 ;
    2>&1 : 将 错误信息(2) 重定向 到 标准输出(1) ;
    2>&1 >file :错误信息(2) 重定向 到 标准输出(1) ,而 标准输出(1) 输入到 file 中,也就是 错误信息(2) 、标准输出(1) 都输入到file 中,等于 1>file 2>&1 。

    例子:

    nohup starMailWeb.sh >mail.log 2>&1 &

    后台运行 starMailWeb.sh ,并且将 标准输出(1)、标准错误(2) 等日志 写入到 mail.log 文件中。

    三、知识扩展
    3.1、清空 nohup.out
    如果命令一直运行下去,nohup.out会一直自己增长下去,如果你的服务器硬盘不给力的话,很容易把应用也挂掉(硬盘没空间 ,啥都玩不转),但是又不能一味的直接删。因为直接删除,可能会造成应用无法打印后续的错误日志,该问题常见于weblogic服务器,jboss服务器等这些大型中间件,这个在生产环境上要尤为注意。

    因此就有了我们不停止服务直接,清空nohup.out文件的方法。
    下面是两个种不用停止WEB服务就可以清空nohup.out的命令。

    第一种:cp /dev/null nohup.out
    第二种:cat /dev/null > nohup.out

    3.2、解决 nohup.out 文件过大
    nohup 的重定向,一劳永逸解决 nohup.out 文件过大的问题
    以下是定义日志打印级别,除了高于级别2的告警信息记录到log文件外,其余直接不记录

    //只输出错误信息到日志文件
    nohup ./program >/dev/null 2>log &

    //什么信息也不要
    nohup ./program >/dev/null 2>&1 &

    原文链接:https://blog.csdn.net/xiaojin21cen/article/details/88991768

  • 相关阅读:
    php-7.0.16 , apache2.4.25 配置
    一次完整的HTTP请求需要的7个步骤
    TypeScript 配置
    React Please wrap your <Route> in a <Routes>
    Typescript node 里使用 multer插件, req 没有 file这个属性
    node 操作mongodb 用 find() 第一个参数无效
    手机请求不到本地服务器 [Error: Network Error]
    模块 ""mongoose"" 没有默认导出。你是想改为使用 "import { Mongoose } from "mongoose"" 吗?
    小程序 自定义 tabBar Component “页面路径“ does not have a method “ 方法名“ to handle event “tap“
    react-native 初始化项目失败
  • 原文地址:https://www.cnblogs.com/diaoye/p/13128560.html
Copyright © 2011-2022 走看看