国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

如何在Linux中的特定時間運行命令

2024-09-05 23:05:05
字體:
來源:轉載
供稿:網友

有一天,我使用 rsync 將大文件傳輸到局域網上的另一個系統。由于它是非常大的文件,大約需要 20 分鐘才能完成。我不想再等了,我也不想按 CTRL+C 來終止這個過程。我只是想知道在 Linux 操作系統中是否有簡單的方法可以在特定的時間運行一個命令,并且一旦超時就自動殺死它 —— 因此有了這篇文章。請繼續閱讀。

在 Linux 中在特定時間運行命令

我們可以用兩種方法做到這一點。

方法 1 - 使用 timeout 命令

最常用的方法是使用 timeout 命令。對于那些不知道的人來說,timeout 命令會有效地限制一個進程的絕對執行時間。timeout 命令是 GNU coreutils 包的一部分,因此它預裝在所有 GNU/Linux 系統中。

假設你只想運行一個命令 5 秒鐘,然后殺死它。為此,我們使用:

$ timeout <time-limit-interval> <command>

例如,以下命令將在 10 秒后終止。

$ timeout 10s tail -f /var/log/pacman.log

Linux,特定時間,運行命令

你也可以不用在秒數后加后綴 s。以下命令與上面的相同。

$ timeout 10 tail -f /var/log/pacman.log

其他可用的后綴有:

  • m 代表分鐘。
  • h 代表小時。
  • d 代表天。

如果你運行這個 tail -f /var/log/pacman.log 命令,它將繼續運行,直到你按 CTRL+C 手動結束它。但是,如果你使用 timeout 命令運行它,它將在給定的時間間隔后自動終止。如果該命令在超時后仍在運行,則可以發送 kill 信號,如下所示。

$ timeout -k 20 10 tail -f /var/log/pacman.log

在這種情況下,如果 tail 命令在 10 秒后仍然運行,timeout 命令將在 20 秒后發送一個 kill 信號并結束。

有關更多詳細信息,請查看手冊頁。

$ man timeout

有時,某個特定程序可能需要很長時間才能完成并最終凍結你的系統。在這種情況下,你可以使用此技巧在特定時間后自動結束該進程。

方法 2 - 使用 timelimit 程序

timelimit 使用提供的參數執行給定的命令,并在給定的時間后使用給定的信號終止進程。首先,它會發送警告信號,然后在超時后發送 kill 信號。

與 timeout 不同,timelimit 有更多選項。你可以傳遞參數數量,如 killsig、warnsig、killtime、warntime 等。它存在于基于 Debian 的系統的默認倉庫中。所以,你可以使用命令來安裝它:

$ sudo apt-get install timelimit

對于基于 Arch 的系統,它在 AUR 中存在。因此,你可以使用任何 AUR 助手進行安裝,例如 Pacaur 、 Packer 、 Yay 、 Yaourt 等。

對于其他發行版,請 在這里 下載源碼并手動安裝。安裝 timelimit 后,運行下面的命令執行一段特定的時間,例如 10 秒鐘:

$ timelimit -t10 tail -f /var/log/pacman.log

如果不帶任何參數運行 timelimit,它將使用默認值:warntime=3600 秒、warnsig=15 秒、killtime=120 秒、killsig=9。有關更多詳細信息,請參閱本指南最后給出的手冊頁和項目網站。

$ man timelimit

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁化县| 金昌市| 封丘县| 茌平县| 博兴县| 左贡县| 漾濞| 乌兰浩特市| 杭锦后旗| 永定县| 衡水市| 皋兰县| 白沙| 图木舒克市| 石门县| 保靖县| 建始县| 兖州市| 工布江达县| 白银市| 巴东县| 从江县| 南汇区| 黄陵县| 涞源县| 泗洪县| 霍林郭勒市| 榆中县| 呈贡县| 汶上县| 东港市| 灯塔市| 阜新| 额敏县| 墨脱县| 舞钢市| 修武县| 卢氏县| 郯城县| 东宁县| 叙永县|