掌握这几种方法,让你在Linux系统中轻松设置时间限制

随着工作和生活节奏的加快,我们经常需要在linux系统中设置一些时间限制来控制我们的行为。无论是限制用户登录时间还是限制进程运行时间,linux系统都提供了多种方法来实现这一目的。那么,你知道如何在linux系统中设置时间限制吗?本文将介绍几种常见的方法,让你轻松掌握。

timeout是一个命令行实用程序,它运行指定的命令,如果在给定的时间段后仍在运行,则终止该命令。timeout命令是GNU核心实用程序软件包的一部分,该软件包几乎安装在所有Linux发行版中

如何使用

语法格式:

timeout [OPTION] DURATION COMMAND [ARG]...

登录后复制

DURATION可以是正整数或浮点数,后跟可选的后缀:

s – 秒 (默认)m – 分钟h – 小时d – 天

如果不添加任何单位,默认是秒。如果DURATION为0,则关联的超时是禁用的。

实例

5秒后终止ping操作:

[root@localhost ~]# timeout 5 ping www.baidu.comPING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=55 time=16.3 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=55 time=16.0 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=55 time=16.7 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=4 ttl=55 time=16.0 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=5 ttl=55 time=17.6 ms

登录后复制

掌握这几种方法,让你在Linux系统中轻松设置时间限制
5分钟之后终止ping操作:

[root@localhost ~]# timeout 5m ping www.baidu.com

登录后复制

1天之后终止ping操作:

[root@localhost ~]# timeout 1d ping www.baidu.com

登录后复制

2.5秒之后终止ping操作:

[root@localhost ~]# timeout 2.5s ping www.baidu.comPING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=55 time=14.9 ms64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=55 time=15.6 ms64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=3 ttl=55 time=15.6 ms

登录后复制掌握这几种方法,让你在Linux系统中轻松设置时间限制

发送指定的信号

如果未给出任何信号,则当达到时间限制时,timeout将SIGTERM信号发送到受管命令。可以使用-s(-signal)选项指定要发送的信号。

发送SIGKILL信号给ping命令,5秒钟后终止:

[root@localhost ~]# sudo timeout -s SIGKILL 5s ping www.baidu.comPING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=55 time=17.2 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=55 time=16.6 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=55 time=16.7 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=4 ttl=55 time=16.2 ms64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=5 ttl=55 time=16.7 msKilled

登录后复制

掌握这几种方法,让你在Linux系统中轻松设置时间限制
信号可以指定他的名字也可以指定他序号。下面使用的事SIGKILL的序号,5秒钟后终止操作:

[root@localhost ~]# sudo timeout -s 9 5s ping www.baidu.comPING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=55 time=15.5 ms64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=55 time=16.3 ms64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=3 ttl=55 time=14.9 ms64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=4 ttl=55 time=16.0 ms64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=5 ttl=55 time=22.0 msKilled

登录后复制

掌握这几种方法,让你在Linux系统中轻松设置时间限制
想要知道全部可用的信号,请使用 kill -l该命令查看全部的信号。

[root@localhost ~]# kill -l 1) SIGHUP  2) SIGINT  3) SIGQUIT  4) SIGILL  5) SIGTRAP 6) SIGABRT  7) SIGBUS  8) SIGFPE  9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+338) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+843) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+1348) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-1253) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-758) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-263) SIGRTMAX-1 64) SIGRTMAX [root@localhost ~]#

登录后复制掌握这几种方法,让你在Linux系统中轻松设置时间限制

停掉卡住的进程

SIGTERM,当超过时间限制时发送的默认信号可以被某些进程捕获或忽略。在这种情况下,进程在发送终止信号后继续运行。

要确保被执行的的命令终止,请使用-k(–kill after)选项,后面加一个时间。当达到给定的时间限制后会强制结束。

在下面的示例中,timeout命令运行一分钟,如果命令没有结束,将在10秒后终止命令:

[root@localhost ~]# timeout -k 10s 1m sh test.sh

登录后复制

运行在前台

默认情况下,timeout在后台运行托管命令。如果要在前台运行该命令,请使用–foreground选项:

[root@localhost ~]# timeout --foreground 5m ./script.sh

登录后复制

总结

本文介绍了Linux系统中设置时间限制的几种常见方法,包括使用ulimit命令、使用pam_time模块、使用cron定时任务等。通过对这些方法的了解,你可以更好地控制用户行为、优化系统性能、防止资源浪费等。希望读者能够根据实际需求选择适合自己的方法,并加以应用。

以上就是掌握这几种方法,让你在Linux系统中轻松设置时间限制的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2203193.html

(0)
上一篇 2025年2月26日 00:24:50
下一篇 2025年2月26日 00:25:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • pycharm如何从新窗口打开项目

    PyCharm 可从新窗口打开项目,以便同时处理多个项目或组织工作空间:启动 PyCharm单击 “文件” 菜单并选择 “新建窗口”浏览并选择项目文件夹或创建新项目 如何从新窗口打开项目 Py…

    2025年2月26日
    200
  • pycharm怎么运行当前文件

    在 PyCharm 中运行当前文件的方法包括:快捷键:Windows 和 Linux 为 Shift + F10,macOS 为 Shift + Cmd + F10菜单项:从“运行”菜单选择“运行当前文件”运行配置:在“Python”配置下…

    2025年2月26日
    200
  • pycharm怎么运行多个py文件

    在 PyCharm 中运行多个 Py 文件:打开文件并创建运行配置,添加脚本并配置选项。保存配置并运行,PyCharm 将同时运行所有指定的 Py 文件。输出和错误信息可在 “Run” 工具窗口中查看。 如何在 Py…

    2025年2月26日
    200
  • pycharm怎么打开ide窗口

    打开 PyCharm IDE 窗口的步骤:安装 PyCharm:从官方网站下载并安装 PyCharm。启动 PyCharm:双击图标启动 PyCharm,选择创建一个新项目或打开一个现有项目。使用菜单:通过“文件”>“新建项目”或“打…

    2025年2月26日
    200
  • pycharm如何终止程序运行

    在 PyCharm 中终止程序运行的方法有:快捷键:Windows/Linux:Ctrl + F2;macOS:⌘ + F2菜单栏:”运行” → “停止程序”工具栏图标:点击红色的正方形 &#…

    2025年2月26日
    200
  • pycharm怎么停止正在运行的代码

    在 PyCharm 中停止正在运行的代码的方法:识别正在运行的代码(绿色边框)并在窗口底部找到停止按钮(红色方框)。使用停止按钮、键盘快捷键 (Ctrl + F2 或 Cmd + F2) 或菜单选项(“运行” -> “停止”)来停止代…

    2025年2月26日
    200
  • pycharm中怎么运行ipynb文件

    要在 PyCharm 中运行 ipynb 文件,请:打开 ipynb 文件,创建 Python 环境(可选),运行代码单元格,使用交互式环境。 在 PyCharm 中运行 ipynb 文件 在 PyCharm 集成开发环境 (IDE) 中运…

    2025年2月26日
    200
  • pycharm中怎么运行一部分代码

    在 PyCharm 中运行部分代码有两种方法:运行选定代码块:选中代码并按 Ctrl + /(Windows/Linux)或 Cmd + /(macOS),选择“运行选定文本”。使用调试器:将光标放置在要运行的代码行上,按下 F9,单击“运…

    2025年2月26日
    200
  • pycharm中怎么运行py文件

    PyCharm 中运行 Py 文件有两种方法:通过菜单:点击“运行”菜单,选择“运行 ‘文件名’”。通过快捷键:使用 Shift + F10(Windows/Linux)或 Cmd + Shift + F10(mac…

    2025年2月26日
    200
  • pycharm中怎么运行脚本

    在 PyCharm 中运行脚本有四种方法:使用运行/调试配置。使用快捷键:Windows/Linux:Ctrl + Shift + F10;macOS:Cmd + Shift + F10。使用控制台:键入“python ”。使用调试器:设置…

    2025年2月26日
    200

发表回复

登录后才能评论