首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Linux网络编程】:守护进程,前台进程,后台进程

这篇文章是网络编程的第一篇文件,是对网络UDP,TCP,序列化反序列化的一些总结,应用层协议。 1.守护进程 1.1前台进程??后台进程??守护进程??...如果我们在Xshell上启动一个服务器程序,正常情况下是前台进程,加上&会变成后台进程。但是当我们关闭Xshell终端的时候,前台进程会关闭,后台进程会受影响。而且服务器是要长期运行,不能关闭的。...1.3前台进程,后台进程,守护进程的区别: 特性 前台进程 后台进程 守护进程 终端依赖 必须绑定终端(TTY) 可脱离终端(但属于当前会话session) 完全脱离终端和会话session 用户交互...2.当有前台进程时,bash进程会被换到后台。此时输入的命令是给此时在运行的前台进程。当前运行的前台进程不接收处理输入的命令,所以不能执行命令。 2.概念解释: PPID:父进程。...前台进程和后台进程本质还是属于同一个session,断开连接的时候,前台进程会退出,后台进程会受影响,可能是报错。 守护进程是脱离当前会话Session,形成了一个独立的Session。

10010

Linux 进程的前台后台切换

前言当你用shell启动一个程序时,往往他是在前台工作的。程序会一直占用终端命令行,例如你在前台解压的时候必须等着,期间干不了别的事(除非另开一个终端)。...例如经常用连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行。简单例子在后台运行一个命令,例如使用&符号。..../shella.sh &使用jobs命令查看后台作业列表。添加-l选项时,它提供更详细的输出,显示作业的详细信息。jobsjobs -l使用fg命令将某个作业切换到前台。例如,如果作业号为1。...fg %1使用(ctrl + z)可以将一个正在前台执行的命令放到后台,并且处于暂停状态。bg使用bg将一个在后台暂停的命令,变成在后台继续执行。...kill %1使用 kill %1可以直接终止后台运行的程序。nohup ./myscript.sh &这个命令将执行.

38500
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 守护进程的启动方法

    怎么才能让它变成系统的守护进程(daemon),成为一种服务(service),一直在那里运行呢? 二、前台任务与后台任务 上面这样启动的脚本,称为"前台任务"(foreground job)。...Linux系统是这样设计的。...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统的huponexit参数可能是打开的(on)。 更保险的方法是使用disown命令。...# 作为前台任务启动 $ forever server.js # 作为服务进程启动 $ forever start app.js # 停止服务进程 $ forever stop Id # 重启服务进程...# 启动web界面 http://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统有自己的守护进程管理工具 Systemd 。

    4.5K50

    Linux守护进程的启动方法

    这篇文章主要为大家详细介绍了Linux守护进程的启动方法,本文介绍如何将一个 Web 应用,启动为守护进程,感兴趣的小伙伴们可以参考一下 "守护进程"(daemon)就是一直在后台运行的进程(daemon...怎么才能让它变成系统的守护进程(daemon),成为一种服务(service),一直在那里运行呢? 二、前台任务与后台任务 上面这样启动的脚本,称为"前台任务"(foreground job)。...变成守护进程的第一步,就是把它改成"后台任务"(background job)。 $ node server.js & 只要在命令的尾部加上符号&,启动的进程就会成为"后台任务"。...Linux系统是这样设计的。...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统的huponexit参数可能是打开的(on)。 更保险的方法是使用disown命令。

    4.5K00

    Linux 守护进程的启动方法

    Linux 守护进程的启动方法 “守护进程”(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。...怎么才能让它变成系统的守护进程(daemon),成为一种服务(service),一直在那里运行呢? 二、前台任务与后台任务 上面这样启动的脚本,称为”前台任务”(foreground job)。...四、disown 命令 通过”后台任务”启动”守护进程”并不保险,因为有的系统的huponexit参数可能是打开的(on)。 更保险的方法是使用disown命令。...# 作为前台任务启动 $ forever server.js # 作为服务进程启动 $ forever start app.js # 停止服务进程 $ forever stop Id # 重启服务进程...# 启动web界面 http://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统有自己的守护进程管理工具 Systemd 。

    5K81

    【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 启动相同 id 的第二个前台 Service 关闭通知 )

    文章目录 一、 前台 Service 通知问题 二、 设置 startForeground id 参数为 0 三、 启动相同 id 的第二个前台 Service 关闭通知 1、 前台服务 1 2、 关闭通知栏的服务...3、清单文件 四、源码资源 一、 前台 Service 通知问题 ---- 上一篇博客 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 效果展示 |...(0, notification) 方法中 , 传入的第一个参数 id 如果设置为 0 , 此时就不会弹出通知栏 , 但是同样 , 进程会变成后台进程 ; 启动后没有通知 , 按下 Home 键后查询..., 发现该应用就变成了普通后台应用 , 没有进程提权的效果 ; 三、 启动相同 id 的第二个前台 Service 关闭通知 ---- 不同版本的前台服务策略 : API Level < 18 :...()); API Level 18 ~ 25 : 直接使用 startForeground(10, new Notification()) 代码启动 , 但是必须启动两个前台服务进程 , 绑定相同的 id

    2K20

    Linux 进程前台后台切换与作业控制

    进程前台/后台切换(一)前台进程当你在 shell 中启动一个程序时,默认它是前台进程。例如,执行 ./shella.sh,这个程序会一直占用终端命令行,直到执行完毕。...作业控制命令(一)fg 命令使用 fg 命令可以将某个后台作业切换到前台。如果要将作业号为 1 的作业切换到前台,执行 fg %1。...(四)kill 命令使用 kill 命令可以终止后台运行的程序。例如 kill %1 可以直接终止作业号为 1 的后台进程。...需要注意的是,某些进程可能需要使用 kill -9 来强制终止,因为 -9 选项会发送 SIGKILL 信号,该信号不能被进程捕获和忽略。示例:执行 jobs 命令查看后台作业列表。...找到作业号为 1 的作业。执行 kill %1 终止该作业。如果需要强制终止,执行 kill -9 %1。进程优先级调整(一)nice 命令nice 命令用于在启动进程时设置其优先级。

    8100

    Linux 中前台进程转后台,并重定向输出

    重定向日志 在 Linux 中,如果一个进程已经在运行,并且您想要将其标准输出重定向到一个文件或设备,可以使用以下步骤。...使用 gdb 命令附加到该进程。gdb 是一个用于调试程序的工具,也可以用于向运行中的进程发送信号。...请注意:此方法对某些进程可能无效,因为有些进程会在启动时检查其输出是否已被重定向。此外,由于 gdb 是一个用于调试的工具,执行此操作可能会对进程的运行产生一些影响。...请谨慎使用,并确保对正在运行的进程的操作没有负面影响。...参考资料 [1] linux让前台正在执行的命令转入后台并nohup的方法: https://blog.51cto.com/lonelyprogram/1355265 [2] 进程输出重定向: https

    48610

    进程启动时间监控(linux篇)

    摘要:这次我们来谈谈如何采集一个进程的启动时间 以下内容使用go语言实现 linux 进程启动时间采集 方法一 直接读取/proc/{pid} 文件夹的时间戳方式(不准确但效率高),以下是方法一的代码,...= nil { return nil } proc.mtime = stat.ModTime().Unix() 方法二 使用(现在的时间-从系统启动到现在的时间) + 进程启动时距离系统启动时的时间间隔得到...jiffies单位,用来记录自系统启动以来产生的节拍的总数。...启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。...输出结果 [输出结果] 引用 go 获得进程启动时间的两种方法

    4.2K10

    使用 Ctrl+S停止输出而不用挂起前台进程

    之前一直知道使用 Ctrl+Z 挂起前台进程来阻止进程运行,之后可以再通过 shell 的作业控制 (jobs / fg N) 来将后台进程切换为前台,从而继续运行。...最近学到一种新的方法,对于不停有 console 输出的前台进程,可以使用 Ctrl+S 来 STOP 一个进程的输出,从而暂停进程。...如果再打开 IXANY 标志位,则使用任意键都可以重启被停止的输出,而不一定要使用 Ctrl+Q。 最后,还有一个隐藏的前提,就是被暂停的进程在前台有频繁的输出,否则 Ctrl+S 也无用武之地。...例如,使用下面的命令启动脚本: >./deadloop.sh > deadloop.log 则无法通过 Ctrl+S 的方法暂停这个进程。 ...总结一下,今天学到一个新的方法去暂停运行中的前台进程,可能对于运维老鸟来说已经是手到擒来,对我却是完全的新鲜, 所以花了些时间研究下,感觉 linux 博大精深,不起眼处可能就藏着一些好东西,值得挖掘!

    72220

    Android前台服务的使用(二)--使用LiveEventBus实现进程间通讯(附源码)

    ——《微卡智享》 本文长度为2654字,预计阅读6分钟 前言 上一篇《Android前台服务的使用(一)》介绍了Android前台服务的使用,其中通讯用的广播方式在来接消息,在文中最后也说过LiveEventBus...实现了进程中的通讯,在《Android使用LiveEventBus消息实现组件间通讯》中有介绍过LiveEventBus的使用(不包括跨进程),本篇就来看看实现进程间的消息通讯。...post就可以了,而跨进程的消息通讯,必须使用postAcrossApp,否则是接收不到消息的。...而在testsrv项目的MainActivity中,我们的发送就改为postAcrossApp了,这样才能实现跨进程的通讯。...这样使用LiveEventBus加上前台服务就实现的我们最初想到的业务的硬件控制的解耦,并且用LiveEventBus后不需要使用广播的方式两边写好多的代码。

    1.9K20

    Linux如何查看进程、杀死进程、启动进程等常用命令

    ps u 以用户为主的格式来显示程序状况。 ps x 显示所有程序,不以终端机来区分。 常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。...杀进程 使用kill命令结束进程:kill xxx 常用:kill -9 324 Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME...选项: -a:显示全部的档案系统和各分割区的磁盘使用情形 -i:显示i -nodes的使用量 -k:大小用k来表示 (默认值) -t:显示某一个档案系统的所有分割区磁盘使用量 -x:显示不是某一个档案系统的所有分割区磁盘使用量...选项: -a 显示所有进程信息 -U uidlist 列出这个用户的所有进程 -e 显示当前运行的每一个进程信息 -f 显示一个完整的列表 -x 显示包括没有终端控制的进程状况 。...iptables stop 或者: /etc/init.d/iptables start /etc/init.d/iptables stop 启动VSFTP服务 即时启动:/etc/init.d

    7.7K22

    linux进程管理命令使用_shell进程

    打开/关闭指定端口 三、软件包管理(rpm、yum) 1. rpm 包的管理 2. yum 包的管理 一、进程管理 在 Linux 操作系统中,每一个执行的程序都是被称之为进程,且每个进程都有它专属的进程号...pid;每个进程可能都以前台和后台两种方式存在,前台进程就是用户直接可在屏幕上操作的部分,与用户直接交互;后台进程则无法在屏幕看到,只在后台运行(一般系统服务都是以后台进程的方式存在,常驻于 系统,只有关机才会结束...如下是 7.0 版本之后 services 指令所管理的服务: 使用指令 setup 可以查看 Linux 操作系统的所有服务;如下为所有系统服务,前面带 [*] 的代表此服务会随着操作系统的启动而自动启动...服务的运行级别 之前已经有介绍,Linux 操作系统中一共有七种运行级别; 0 – 系统停机状态,系统默认运行级别不能设置为0,否则无法正常启动(基本不用) 1 – 单用户工作状态,常用于系统维护,没有远程登陆功能...服务在运行级别 3 的自启动服务,再使用 –list 指令可以看到,network 服务的自启动功能已关闭。

    2.7K30

    Linux中的前台与后台运行

    事实上,在终端中如果对命令不加处理,那么命令会在前台运行。 然而有时候需要将编译、压缩等耗时的工作放到后台运行,这个时候只需要在命令末尾加上&即可。...$ tar -zcvf etc.tar.gz /etc > log.txt 2>&1 & [1] 27914 Shell将命令放在后台运行,并返回了作业号1和进程号27914。...需要注意的是,如果程序在后台运行,那么它将无法接受用户的输入,但是其输出将显示在屏幕上(可能用户正在进行其他工作,突然冒出了错误输出),因此在后台执行的程序需是不需要人工干预的、输出被妥善处理(比如重定向...有的时候在程序开始运行之后,想要将程序放在后台执行,这时需要按^Z快捷键暂停程序,然后使用bg %作业号命令将其放入后台执行: $ sleep 10 ^Z [1]+ Stopped...当然,也可以使用fg %作业号将程序从后台移到前台: $ jobs [1]+ Running sleep 10 & $ fg %1 sleep 10 $ 最后,可以使用

    1.4K10

    Linux下查看进程的启动和运行时间

    有时需要知道某进程运行的时间,比如我想知道我sra文件转换成fq格式的转化速度。以便我做好时间安排。...I 5月09 0:00 [rcu_bh] USER:用户名 %CPU:进程占用的CPU百分比 %MEM:占用内存的百分比 VSZ:该进程使用的虚拟內存量(KB) RSS:该进程占用的固定內存量...(KB)(驻留中页的数量) STAT:进程的状态 START:该进程被触发启动时间 TIME:该进程实际使用CPU运行的时间 top命令 top也可以看进程信息,与ps区别如下 ps看命令执行那刻的进程信息...,top是持续监视,ctrl c退出 ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗 总体来说, ps主要是查看进程的,尤其你关心的进程 top主要看cpu,内存使用情况...,及占用资源最多的进程由高到低排序,关注点在于资源占用情况

    15.4K10

    Daemontools的使用( Linux守护进程管理)

    前言 Daemontools是一个在linux上可以进行守护进程管理的工具,当我们有一些程序需要常驻后台,万一不小心挂掉了他可以帮我们重启服务....进行完上面简单的步骤,就可以开始使用了,我们模拟一种简单的使用场景....之后我们编写我们的启动脚本,我们可以在run文件中写入,比如这里我们写个脚本,输出1-49. #!.../,即启动当前目录下的服务.然后持续观察log,会发现,Daemontools将run脚本无限次的执行下去,所以log中会不断的循环打印1-49....当我们想要停止服务的时候呢,使用-d参数.sudo svc -d ./. 该命令还支持以下参数: -u : up, 如果services没有运行的话,启动它,如果services停止了,重启它。

    4.1K40

    创建Linux服务,轻松管理(自启动,恢复)进程

    有这样一个场景,在一台服务器上,我们想要启动一个简单的网络文件服务器,用来提供给内网的用户下载。...这里,我们使用ruby启动一个服务 使用ruby -run -ehttpd /home/webbuild/easy_file_server/ -p8000启动文件服务器 使用ruby -run -ehttpd.../home/webbuild/easy_file_server/ -p8000 & 将该进程设置为后台执行 为了防止挂起,我们还需要使用nohup处理。...但是还有一些问题,比如 进程意外停止了,无法自动启动 服务器重启,该进程也不会自动启动 那么我们有没有什么好的办法解决呢,答案是有的。就是下面介绍的使用systemd创建Linux 服务的方式解决。...其他字段解释 StartLimitIntervalSec 启动频率限制,设置为0 Restart=always 当进程退出后自动重启 RestartSec 重启延迟时间,单位为毫秒 WantedBy 自动启动相关参数

    4.6K20

    golang子进程的启动和停止,mac与linux的区别

    这段代码启动子进程和关闭子进程在mac电脑的原有系统上工作都很正常,但是到了linux,启动子进程仍然没有问题,关闭子进程不成功。...检查了一下在linux的工作过程,发现启动子进程之后,实际上是启动了两个进程,一个进程是/bin/sh,随后sh又启动了一个子进程自身的子进程sleep。...所以有的时候我们是为了省事,也有的时候是顺手移植了别的语言的代码,就使用/bin/sh来启动需要的命令行程序,就如同上面示例代码一样,这样情况下,除了-c参数要单独占用一个字符串,我们原本要启动的字符串程序及其参数...sh启动了另外一个子进程,这种方法就无效了(指在linux无效,mac测试是一样可以用的,关键区别同样是在mac,/bin/sh进程不会保留并等待我们启动的子进程退出,所以退出消息可以正常的发送到正常的子进程...所以为了跨平台的通用性,建议还是使用Process.Kill或者syscall.Kill来杀死子进程。

    4.7K50

    Linux进程——Linux进程的概念(PCB的理解)

    前言:在了解完冯诺依曼体系结构和操作系统之后,我们进入了Linux的下一篇章Linux进程,但在学习Linux进程之前,一定要阅读理解上一篇内容,理解“先描述,再组织”才能更好的理解进程的含义。...Linux进程学习基础 本篇主要内容: 进程的概念 通过系统调用获取进程标示符 1....: 指令:kill -9 进程id 注意:这里的-9是信号参数,后面会提到,现在直接使用即可 使用指令能直接杀死进程 以上说明我们所有运行的指令,软件,自己写的可执行程序都是进程!...用系统调用函数查看PID 2.4 父进程和子进程 在使用ps指令查看进程信息时,除了PID我们可以看见左边还有一个PPID,当我们不断地启动结束进程时,PID每一次的数据都不一样,但是PPID...而这PPID就是父进程 我们依然可以用函数来查看父进程: 函数:getppid 因此我们可以知道这两个函数: 当我们不断地启动结束进程时,PID每一次的数据都不一样,但是PPID却不会改变

    25910
    领券