<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Cách chạy chương trình định kỳ bằng lệnh Watch trên Linux</title>
<meta name="description" content="Cách chạy chương trình định kỳ bằng lệnh Watch trên Linux - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Cách chạy chương trình định kỳ bằng lệnh Watch trên Linux">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;cach-chay-chuong-trinh-dinh-ky-bang-lenh-watch-tren-linux-7730.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chay-chuong-trinh-dinh-ky-bang-lenh-watch-tren-linux-7730.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chay-chuong-trinh-dinh-ky-bang-lenh-watch-tren-linux-7730.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Cách chạy chương trình định kỳ bằng lệnh Watch trên Linux</h1>
		<ul class="list-inline">
			<li>Thứ hai - 06/11/2023 08:53</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Cách chạy chương trình định kỳ bằng lệnh Watch trên Linux" src="https://st.quantrimang.com/photos/image/2023/11/06/chay-chuong-trinh-dinh-ky-bang-lenh-watch-2.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Đôi khi, bạn cần chạy liên tục một lệnh hoặc chương trình để giám sát các khía cạnh khác nhau của hệ thống, như những tiến trình đang diễn ra, mức sử dụng dung lượng ổ đĩa hoặc thông tin đăng nhập của người dùng. Lệnh watch trên Linux cho phép bạn tự động hóa các tác vụ này mà không cần phải chạy đi chạy lại theo cách thủ công.</p>

<p style="text-align: justify;">Sử dụng lệnh watch, bạn có thể giám sát các hoạt động của hệ thống trong thời gian thực như thông tin đăng nhập của người dùng, trạng thái mạng, mức sử dụng bộ nhớ và CPU, dung lượng ổ đĩa, v.v... Hãy xem cách sử dụng lệnh watch trong&nbsp;Linux.</p>

<h2 style="text-align: justify;">Lệnh watch là gì?</h2>

<p style="text-align: justify;">Lệnh watch Linux chạy lặp đi lặp lại một lệnh hoặc một chương trình được chỉ định, đều đặn và hiển thị đầu ra của lệnh đó trong Terminal. Điều này cho phép bạn quan sát những thay đổi ở đầu ra trong thời gian thực. Nó làm mới đầu ra ở mỗi khoảng thời gian, ghi đè đầu ra trước đó của lệnh. Theo mặc định, lệnh lặp lại hai giây một lần và tiếp tục cho đến khi bạn dừng lệnh theo cách thủ công bằng&nbsp;<strong>Ctrl + C</strong>.</p>

<h3 style="text-align: justify;">Cú pháp lệnh watch</h3>

<p style="text-align: justify;">Cú pháp của lệnh watch là:</p>

<pre id="pre0">
<code>watch options &lt;command&gt;</code></pre>

<p style="text-align: justify;">Có nhiều tùy chọn dòng lệnh khác nhau có sẵn để sử dụng với lệnh watch. Nếu bạn chạy lệnh watch mà không có bất kỳ tùy chọn nào, nó sẽ chạy lệnh được chỉ định sau mỗi hai giây. Ví dụ, phần sau đây sẽ cho bạn thấy đầu ra của lệnh ls:</p>

<pre id="pre1">
<code>watch ls -l ~/</code></pre>

<p style="text-align: justify;">Đầu ra sẽ hiển thị cho bạn những thay đổi trong danh sách thư mục nếu một file được tạo, xóa hoặc thay đổi kích thước, đồng thời refresh đầu ra hai giây một lần.</p>

<figure>
<div style="text-align: justify;"><img alt="Xem đầu ra của lệnh ls" data-i="0" data-src="https://st.quantrimang.com/photos/image/2023/11/06/chay-chuong-trinh-dinh-ky-bang-lenh-watch-1.jpg" data-was-processed="true" height="319" src="https://st.quantrimang.com/photos/image/2023/11/06/chay-chuong-trinh-dinh-ky-bang-lenh-watch-1.jpg" width="931" /></div>

<figcaption>
<div style="text-align: justify;">Xem đầu ra của lệnh ls</div>
</figcaption>
</figure>

<div style="text-align: justify;"><iframe allowtransparency="true" data-google-container-id="a!2" data-google-query-id="CJDstvnCr4IDFTgJgwMd0RYKPg" data-load-complete="true" frameborder="0" height="0" hspace="0" id="aswift_1" marginheight="0" marginwidth="0" name="aswift_1" sandbox="" scrolling="no" vspace="0" width="694"></iframe></div>

<h2 style="text-align: justify;">Chạy lệnh cứ sau X giây bằng watch</h2>

<p style="text-align: justify;">Bạn có thể thay đổi khoảng thời gian cập nhật của lệnh watch. Điều này có nghĩa là bạn có thể yêu cầu lệnh watch đợi x giây trước khi lặp lại lệnh. Để thay đổi khoảng thời gian cập nhật, hãy sử dụng tùy chọn&nbsp;<strong>-n</strong>&nbsp;theo sau là khoảng thời gian tính bằng giây.</p>

<pre id="pre2">
<code>watch -n </code></pre>

<p style="text-align: justify;">Chẳng hạn, để chạy lệnh sau mỗi 5 giây, hãy chạy:</p>

<pre id="pre3">
<code>watch -n 5 &lt;command&gt;</code></pre>

<figure>
<div style="text-align: justify;"><img alt="Thay đổi khoảng thời gian cập nhật của lệnh watch" data-i="1" data-src="https://st.quantrimang.com/photos/image/2023/11/06/chay-chuong-trinh-dinh-ky-bang-lenh-watch-2.jpg" data-was-processed="true" height="303" src="https://st.quantrimang.com/photos/image/2023/11/06/chay-chuong-trinh-dinh-ky-bang-lenh-watch-2.jpg" width="876" /></div>

<figcaption>
<div style="text-align: justify;">Thay đổi khoảng thời gian cập nhật của lệnh watch</div>
</figcaption>
</figure>

<h2 style="text-align: justify;">Highlight những thay đổi giữa các bản cập nhật</h2>

<p style="text-align: justify;">Lệnh watch ghi đè đầu ra của nó mỗi lần refresh. Sử dụng tùy chọn&nbsp;<strong>-d</strong>, bạn cũng có thể highlight những thay đổi giữa đầu ra trước đó và đầu ra được cập nhật.</p>

<pre id="pre4">
<code>watch -d</code></pre>

<h2 style="text-align: justify;">Ẩn header trong đầu ra của lệnh watch</h2>

<p style="text-align: justify;">Theo mặc định, lệnh xem hiển thị header ở đầu mỗi đầu ra chứa khoảng thời gian cập nhật, tên lệnh và ngày giờ hiện tại của hệ thống. Bạn có thể loại bỏ header khỏi đầu ra bằng tùy chọn&nbsp;<strong>-t</strong>:</p>

<pre id="pre5">
<code>watch -t &lt;command&gt;</code></pre>

<h2 style="text-align: justify;">Phát tiếng bíp khi có lỗi</h2>

<p style="text-align: justify;">Khi một tiến trình Linux chạy xong, nó sẽ trả về một exit code. Theo quy ước, giá trị là 0 nếu thành công và khác 0 để biểu thị lỗi. Tùy chọn -b của lệnh watch sẽ phát ra âm thanh bíp nếu lệnh trả về kết quả exit khác 0.</p>

<p style="text-align: justify;">Giả sử bạn muốn theo dõi sshd.service và nhận thông báo khi service dừng; bạn sẽ sử dụng:</p>

<pre id="pre6">
<code>watch -b sudo systemctl status sshd.service</code></pre>

<p style="text-align: justify;">Lệnh này sẽ phát ra tiếng bíp khi service dừng. Tiếng bíp sẽ dừng khi service tiếp tục. Để kiểm tra điều này, hãy mở một cửa sổ terminal khác và dừng service. Điều này sẽ phát ra tiếng bíp liên tục cho đến khi bạn bắt đầu lại service. Tuy nhiên, để sử dụng tính năng này, bạn phải cài đặt gói beep trên hệ thống của mình.</p>

<div style="text-align: justify;"><iframe allowtransparency="true" data-google-container-id="a!3" data-google-query-id="CK6ux4PDr4IDFVOUSwUdrvwLEg" data-load-complete="true" frameborder="0" height="0" hspace="0" id="aswift_2" marginheight="0" marginwidth="0" name="aswift_2" sandbox="" scrolling="no" vspace="0" width="694"></iframe></div>

<h2 style="text-align: justify;">Thoát lệnh watch khi thay đổi đầu ra</h2>

<p style="text-align: justify;">Bạn cũng có thể yêu cầu lệnh watch ngừng chạy và thoát khi đầu ra của lệnh thay đổi. Bạn có thể thực hiện việc này bằng tùy chọn&nbsp;<strong>-g</strong>. Tùy chọn này rất hữu ích trong các tình huống khi bạn đang chờ đợi những thay đổi nhất định ở đầu ra.</p>

<p style="text-align: justify;">Khi đầu ra thay đổi, lệnh watch sẽ dừng. Bạn có thể kết hợp cách sử dụng này với&nbsp;lệnh echo&nbsp;để hiển thị thông báo trên màn hình.</p>

<p style="text-align: justify;">Ví dụ, hãy xem xét tình huống trong đó bạn đang đợi một file đến thư mục của mình. Lệnh sau sẽ giám sát thư mục cho file được chỉ định. Ngay khi nó đến, lệnh watch sẽ ngừng chạy và thông báo&nbsp;<strong>file arrived</strong>&nbsp;sẽ hiển thị trên Terminal.</p>

<pre id="pre7">
<code>watch -g &quot;ls -l | grep filename&quot; &amp;&amp; echo &quot;file arrived&quot;</code></pre>

<p style="text-align: justify;">Một ví dụ hữu ích khác là thông báo khi một người dùng cụ thể đăng nhập vào hệ thống của bạn:</p>

<pre id="pre8">
<code>watch -g &quot;who | grep username&quot; &amp;&amp; echo &quot;username logged in&quot;</code></pre>

<p style="text-align: justify;">Lệnh này sẽ giám sát đầu ra của lệnh who liệt kê những người dùng đã đăng nhập. Sau khi người dùng đăng nhập, lệnh watch sẽ dừng và hiển thị thông báo trên Terminal.</p>

<p style="text-align: justify;">Tương tự, bạn có thể yêu cầu lệnh watch dừng service khi một số thay đổi được thực hiện trong một file. Hãy nhớ rằng khi sử dụng chuỗi lệnh theo đường dẫn, bạn sẽ cần phải đặt toàn bộ lệnh trong dấu ngoặc kép.</p>

<div style="text-align: justify;">&nbsp;</div>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chay-chuong-trinh-dinh-ky-bang-lenh-watch-tren-linux-7730.html" title="Cách chạy chương trình định kỳ bằng lệnh Watch trên Linux">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chay-chuong-trinh-dinh-ky-bang-lenh-watch-tren-linux-7730.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>