ulimit -SHn 65535
时间: 2023-12-13 22:04:24 浏览: 153
这是一个用于设置 Linux 系统的软件限制的命令,其中参数 -S 表示设置软限制,-H 表示设置硬限制,-n 表示设置最大打开文件描述符数的限制。这个命令将最大打开文件描述符数的软限制设置为 65535,意味着系统中的任何进程都不能打开超过 65535 个文件描述符。硬限制是软限制的上限,只能由超级用户或者具有 CAP_SYS_RESOURCE 权限的进程来修改。
相关问题
ulimit -c unlimited ulimit -s unlimited ulimit -SHn 65535 export PATH=$PATH:/usr/local/mysql/bin
The above command sets the core file size, stack size, and maximum number of open files to unlimited and adds the MySQL bin directory to the system's PATH environment variable.
The ulimit command sets resource limits for the current shell and any child processes. The -c option sets the maximum size of core files that can be created, while the -s option sets the stack size. The -SHn option sets the maximum number of open files for the soft and hard limits.
The export command adds the MySQL bin directory to the PATH environment variable so that any executables in that directory can be executed from any location in the shell.
#!/bin/bash while : do nginxpid='ps -C nginx --no-header | wc -l' if [ $nginxpid -eq 0 ];then ulimit -SHn 65535 /usr/local/nginx/sbin/nginx sleep 5 nginxpid='ps -C nginx --no-header | wc -l' if [ $nginxpid -eq 0 ];then /etc/init.d/keepalived stop fi fi sleep 5 done具体分析每一行代码
这是一个简单的 Bash 脚本,目的是在 Nginx 服务停止时重启它并检查是否成功,如果失败则停止 keepalived 服务。下面是每一行代码的分析:
1. `#!/bin/bash`
这是脚本的 shebang,指定了脚本使用的解释器,这里是 bash。
2. `while :`
这是一个无限循环,其条件永远为 true。
3. `nginxpid='ps -C nginx --no-header | wc -l'`
这行代码获取当前运行的 nginx 进程数,使用 ps 命令和 wc 命令实现。
4. `if [ $nginxpid -eq 0 ];then`
如果 nginx 进程数为 0,即没有 nginx 进程在运行,则执行下面的代码。
5. `ulimit -SHn 65535`
设置文件句柄数的最大值为 65535。
6. `/usr/local/nginx/sbin/nginx`
启动 nginx 服务。
7. `sleep 5`
等待 5 秒钟,让 nginx 服务启动。
8. `nginxpid='ps -C nginx --no-header | wc -l'`
再次获取当前运行的 nginx 进程数。
9. `if [ $nginxpid -eq 0 ];then`
如果 nginx 进程数为 0,即 nginx 启动失败,则执行下面的代码。
10. `/etc/init.d/keepalived stop`
停止 keepalived 服务,因为 nginx 服务无法正常启动,可能是由于资源限制或其他问题引起的,这时候停止 keepalived 可以避免出现服务故障和资源争用等问题。
11. `fi`
结束 if 语句。
12. `sleep 5`
等待 5 秒钟,让循环继续执行。
13. `done`
结束 while 循环。
阅读全文