当我在目录中应用默认 ACL 时,我看到default:mask
或仅mask
在以下两种情况下。
场景一
-bash-4.2$ ls -ld test/
drwxr-x---. 2 test test 4096 Oct 15 19:12 test/
-bash-4.2$ setfacl -d -m u:arif:rwx test/
-bash-4.2$ getfacl --omit-header test
user::rwx
group::r-x
other::---
default:user::rwx
default:user:arif:rwx
default:group::r-x
default:mask::rwx
default:other::---
Run Code Online (Sandbox Code Playgroud)
场景二
-bash-4.2$ ls -dl dir/
drwxr-x---. 2 test test 4096 Oct 15 18:17 dir/
-bash-4.2$ getfacl dir
# file: dir
# owner: test
# group: test
user::rwx
group::r-x
other::---
-bash-4.2$ setfacl -m user:arif:rwx dir
-bash-4.2$ getfacl --omit-header dir
user::rwx
user:arif:rwx
group::r-x …
Run Code Online (Sandbox Code Playgroud) 我想检查哪个进程占用最高的 I/O。确切地说,我想检查哪个进程执行最高的写入操作以及多少。
我知道有一些工具,例如iotop
. 但由于我必须在没有 sudo 和权限非常有限的外部环境的情况下工作,我想知道如何使用ps
. 我想要类似下面的东西来查找 CPU/内存使用情况,
$ps -eo pid,command,%cpu,%mem --sort=-%cpu
Run Code Online (Sandbox Code Playgroud)
更新:在尝试了几种方法后,我发现由于缺乏权限而无法读取/proc/[pid]/io
文件,因此我想如果没有适当的权限就无法获取 I/O。
$cd /proc/; for i in $(ls | egrep -o ^\[0-9\]*); do cat $i/io; done
cat: 1/io: Permission denied
cat: 10/io: Permission denied
cat: 10284/io: Permission denied
cat: 11/io: Permission denied
cat: 1174/io: Permission denied
cat: 12/io: Permission denied
........
Run Code Online (Sandbox Code Playgroud) 我经常使用以下命令,
ps -eo pid,cmd,pcpu,pmem --sort=-pcpu | head
Run Code Online (Sandbox Code Playgroud)
但是在man
页面中我看到了以下输出修饰符,
--lines n
Set screen height.
--rows n
Set screen height.
Run Code Online (Sandbox Code Playgroud)
好像这些修饰符可以限制行高,那么我就不必使用任何类型的管道,这让我在使用 python 子进程编写脚本时感到有点舒服。
但我不知道如何使用它们。因为我已经尝试在命令的末尾添加它们。
我的 nginx 单元文件如下,
[root@arif ~]# cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
在这里,在该[Service]
部分中,的值Type
等于forking
这意味着从这里开始,
以 ExecStart 启动的进程会生成一个子进程,该子进程成为服务的主进程。启动完成后,父进程退出。
我的问题是,