• 小白的linux笔记2:关于进程的基本操作


    1。ps命令查看进程。ps -aux查看所有进程。可以用grep提取相关的部分进程,如只看python有关的:ps -aux |grep python。

    进程状态:R运行中,T暂停,S休眠静止。

    和进程有关的几个命令:暂停kill -STOP pid,恢复kill -STOP pid,停止kill pid。

    https://blog.csdn.net/xsj_blog/article/details/79551611

    2。运行命令后,crtl+d退出当前shell;crl+c结束当前进程;ctrl+z暂停当前进程,并且会出现jobsID,如1。想恢复的话,fg 1恢复到前台,bg 1恢复到后台;要停止job,用kill %JobID。查看所有jobs用jobs命令。注意:jobs只存活与本次shell,退出shell所有jobs停止。https://blog.csdn.net/sxhlovehmm/article/details/41318111

    3。如果想直接在后台运行,在命令后面加&,此时会直接显示jobsID和PID。

    4。退出shell时所有进程会终止。想让程序继续运行的话,可以在运行时前面加一个nohup。

    https://blog.csdn.net/cneducation/article/details/72235204

    nohup的缺点是,应用程序没有交互界面了,程序的输出将会输出的一个xxx.out文件中,而且以后无法在界面控制程序的结束。

    https://www.jianshu.com/p/e5ed59ebad17

    https://www.cnblogs.com/baby123/p/6477429.html

    5。输入和输出重定向。

    正确结果(stdout)输出到filename:命令 1>filename;命令 1>>filename(追加)。1可省略。注意:命令结束后才会写入文件,因为有缓存,可搜索flush。如果进程被kill的话,就没有任何输出了。

    错误结果(stderr)输出到filename:命令 2>filename;命令 2>>filename(追加)。

    同时输出stdout和stderr到两个文件:命令 2>filename2 1>filename1

    输出stdout和stderr到一个文件(覆盖):命令 1>filename 2>>filename,err要以追加的形式,否则就只剩最后的err记录了。

    简化的写法:命令 >filename 2>&1;命令 &>filename。追加:前面的>换成>>。注意:这里的&不是后台的意思,如果要放入后台运行,要在最后再加一个&。

    对于python脚本,可以在脚本前面加:sys.stdout =open('stdout.log', 'a') ,sys.stderr =open('stderr.log', 'a') 。这时候执行的时候再重定向就不起作用了,因为还没到print的步骤,就已经把stdout输出到别的地方去了。

    https://blog.csdn.net/liucy007/article/details/90207830

    一段简单的试验代码

     1 #!/usr/bin/python
     2 # -*- coding: UTF-8 -*-
     3 import time
     4 import sys
     5 sys.stdout =open('stdout.log', 'a') 
     6 sys.stderr =open('stderr.log', 'a') 
     7 a=0
     8 while a<1000:
     9     print (a)
    10     with open ('log.txt','a') as f:
    11         f.write(str(a)+'
    ')
    12     a=a+1
    13     time.sleep(1)
    14 # 一个error:
    15 adsfsdf


     

  • 相关阅读:
    mysql 清空数据
    centos 7 安装搜狗输入法
    【分布式】分布式事务解决方案
    【Spring】事务的实现方式
    【Maven】 (请使用 -source 8 或更高版本以启用 lambda 表达式)
    【Redis】DENIED Redis is running in protected mode
    【Shiro】调用doGetAuthenticationInfo进行认证成功之后,isAuthenticated是false的问题。
    【线程池】ExecutorService与quartz搭配出现的问题
    【jenkins】jenkins执行nohup java报错
    【MySQL】mac环境下使用navicat premium连接mysql乱码问题
  • 原文地址:https://www.cnblogs.com/cityfckr/p/12294037.html
Copyright © 2020-2023  润新知