首页
学习
活动
专区
圈层
工具
发布

sudo启动的进程,到底算不算root启动的进程?

从安全的角度讲,Linux上进程启动,不应该使用root这种特权账号,不应该让启动账号具有特权,有的改造方案提出通过sudo启动进程,不用root账号启动,这就可以了,但实际上这种操作是正确的么?...原则上,通过sudo启动的进程,本质上就是以root身份运行的。sudo的作用可理解成:临时借用root的身份执行一条命令。...因此当用sudo启动一个进程后: 进程的属主(UID)就是root 进程拥有 root 的全部权限,可以访问任何文件、执行任何系统调用 只是触发这个动作的用户是普通用户,但进程本身不是以普通用户身份在跑...为什么很多人会有“这算不算root启动”的疑问?...因此,用sudo启动的进程,显示是root,就是root启动的,不算"不用 root"。

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

    服务端测试之进程通信

    点击上方蓝字,关注我们 在Python中,进程之间互相隔离,但是进程之间是需要互相通信的,在进程中可以通过两种方式实现进程之间的数据通信(传输):队列和管道。这两种方式都可以实现消息的传递。...这个也是在服务端的测试中特别需要注意的点,也是在测试中针对队列特别需要考虑的测试测试点。下面基于队列的机制,来实现一个生产者消费者的模式,涉及到的代码如下: #!...,多进程编程的方式,和实际生活中的管(管道)是非常类似的。...通常情况下,管道有 2 个口,而 Pipe 也常用来实现 2 个进程之间的通信,这 2 个进程分别位于管道的两端,一端用来发送数据,另一端用来接收数据。...使用 Pipe 实现进程通信,首先需要调用 multiprocessing.Pipe() 函数来创建一个管道。

    63450

    批量启动停止Java进程

    java进程管理程序 命名:jmanager 主要功能:保存当前主机所有Java进程信息,停止Java进程,启动Java进程 解决的问题: 公司目前测试环境只有几台虚拟机,没有进行容器化管理,系统采用分布式架构...一旦虚拟机重启或者故障就要适用Jenkins重启打包部署非常耗时和麻烦,遂编写该脚本用于定时抓取Java进程启动信息, 一旦出现故障,可以批量停止Java进程或者批量启动Java进程。...mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com 如何操作: python3 main.py log 解释:记录当前所有java进程信息...,产生以当前日志命名的进程数据文件 python3 main.py stop xxxx.json 解释:关闭所有Java进程 xxxx.json 为第一步产生的数据文件 python3 main.py...start xxxx.json 解释:启动所有Java进程 xxxx.json 为第一步产生的数据文件 该脚本适用于所有java程序,可以安装在其他环境,但该脚本不负责程序启动或者停止顺序

    2.5K20

    Zygote 进程启动过程

    、media等进程终止,就需要restart. init.zygote64.rc 表示支持64位程序,这个启动脚本在 init进程启动过程 文章中已经进行解释,不在重复讲述。...Zygote进程启动过程 在 init进程启动过程 文章中我们知道init启动Zygote主要是调用app_main.cpp的main函数中的AndroidRuntime的start函数来启动Zygote...在Zygote进程将SystemServer进程启动后,就会在这个server端的socket等待AMS请求Zygote进程来创建新的应用程序进程。...应用程序进程创建传递的参数会在应用程序进程启动文章中看到传递哪些参数,然后调用ZygoteInit类的zygoteInit方法。...补充 在Zygote进程启动过程第中,等待AMS来请求Zygote进程创建新的应用程序进程,其中有说到Binder线程池通过ZygoteInit类的nativeZygoteInit方法启动,下面分析下Binder

    1.1K10

    Netty源码分析之服务端启动

    点击“博文视点Broadview”,获取更多书讯 Netty在服务端启动过程中是如何绑定端口、启动服务的呢? 在启动服务的过程中,我们可以顺势了解到Netty各大核心组件。...01 服务端启动示例 我们写了一个比较完整的服务端启动例子,绑定在8888端口,使用NIO模式。...ServerBootstrap:服务端的一个启动辅助类。通过给它设置一系列参数来绑定端口启动服务。 3. .group(bossGroup, workerGroup):设置服务端的线程模型。...这里就是真正的启动过程了,绑定端口8888,等服务端启动完毕,才会进入下一行代码。...02 服务端启动的核心步骤 我们通过以上示例代码来理一理服务端启动的基本流程。

    68910

    gRPC服务端启动流程走查

    1、服务端启动示例 server = ServerBuilder.forPort(port) // @1 .addService(new GreeterImpl()) // @2 .build() //...@3 .start(); // @4 小结: @1 构建监听地址SocketAddress @2 将service注册到缓存 @3 Server构建 @4 服务端启动 小结:服务端启动只有一行代码,设计简洁...this.listenAddresses.add(new InetSocketAddress(port)); // @1 } @1 添加指定端口的SocketAddress监听地址并存入List容器缓存 小结:在服务端启动时指定监听端口...在优雅时间内RPC请求未完成将被取消 @17 是否允许在没有RPC调用的情况下客户端发送keep-alive HTTP/2 PINGs 默认false @18 允许客户端保持连接的最大时间 默认5分钟 5、服务端启动...@3 具体的Netty HTTP/2实现,具体在分析HTTP/2时再回头分析 6、小结 从一行代码启动gRPC服务端开始,从注册地址、注册服务、Server构建、Server启动流程走查。

    2.1K20

    进程监控工具supervisor 启动Mongodb

    进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具。...好,怎么解决的呢,其实supervisor管理进程,就是通过fork/exec的方式把这些被管理的进程,当作supervisor的子进程来启动。...进程组 supervisor可以对进程组统一管理,也就是说咱们可以把需要管理的进程写到一个组里面,然后我们把这个组作为一个对象进行管理,如启动,停止,重启等等操作。...daemon方式运行,以mongodb为例,需要去掉mongodb进程启动命令里的--fork 参数 六使用 #   启动supervisor    python /usr/bin/supervisord...#  启动监控的进程     supervisorctl start all #  关闭监控的进程       supervisorctl stop all #  查看状态       supervisorctl

    3.1K60

    GPDB - FTS机制 - FTS进程启动

    GPDB - FTS机制 - FTS进程启动 作为GreenPlum高可用的核心功能,FTS(Fault Tolerance Server)进程负责故障检测。...本文说说FTS进程是怎么启动的。 1、FTS进程的启动 FTS进程的入口函数是FtsProbMain。该进程是如何启动的呢?...1)服务启动后,会先开启一个startup进程,即恢复进程,通过StartupXLog回放WAL日志,可以看到当日志回放完退出StartupXLog函数后,会进程proc_exit函数,退出当前进程。...2)可以看到需要满足启动规则才会注册到BackgroundWorkerList中 3)FTS的启动规则是Gp_role为GP_ROLE_DISPATCH,即master端 这样,结合第一个逻辑图,PostmasterMain...->reaper函数从BackgroundWorkerList中取需要启动的进程进行启动,完成FTS的进程启动。

    59510

    python服务端多进程压测工具

    本文描述一个python实现的多进程压测工具,这个压测工具的特点如下: 多进程 在大多数情况下,压测一般适用于IO密集型场景(如访问接口并等待返回),在这种场景下多线程多进程的区分并不明显(详情请参见GIL...一般的服务端压测工具,例如http_load和jmeter,不是http协议的,就是需要通过代码进行扩展。例如在压测thrift接口的时候,即使通过jmeter扩展java程序也很麻烦。...但是当涉及到场景化压测,或者是奇怪的SDK,例如本文要压测的接口是通过java代码自动生成的python消息类SDK,并且涉及到场景化的压测,很难通过一般的服务端压测工具搞定。...可以看到有两种进程: 一种是worker_process进程,调用了press()发压逻辑函数,并且这个进程可以指定并发度concurrent,是实际的发压进程,值得注意的是在worker_process...这里不得不提到的是,多进程如何共享变量? 这里使用的是multiprocessing中的Manager包,这个包提供了多进程共享变量的能力,我这里用到的是Namespace数据结构来存储多进程的计数。

    2.4K60

    Linux 守护进程的启动方法

    "守护进程"(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题的由来 Web应用写好后,下一件事就是启动,让它一直在后台运行。...怎么才能让它变成系统的守护进程(daemon),成为一种服务(service),一直在那里运行呢? 二、前台任务与后台任务 上面这样启动的脚本,称为"前台任务"(foreground job)。...变成守护进程的第一步,就是把它改成"后台任务"(background job)。 $ node server.js & 只要在命令的尾部加上符号&,启动的进程就会成为"后台任务"。...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统的huponexit参数可能是打开的(on)。 更保险的方法是使用disown命令。...# 作为前台任务启动 $ forever server.js # 作为服务进程启动 $ forever start app.js # 停止服务进程 $ forever stop Id # 重启服务进程

    5.8K50

    Linux守护进程的启动方法

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

    5.7K00
    领券