<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>8 lệnh để quản lý hiệu quả các tiến trình trong Linux</title>
<meta name="description" content="8 lệnh để quản lý hiệu quả các tiến trình trong 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="8 lệnh để quản lý hiệu quả các tiến trình trong 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;8-lenh-de-quan-ly-hieu-qua-cac-tien-trinh-trong-linux-3127.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/8-lenh-de-quan-ly-hieu-qua-cac-tien-trinh-trong-linux-3127.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/8-lenh-de-quan-ly-hieu-qua-cac-tien-trinh-trong-linux-3127.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>8 lệnh để quản lý hiệu quả các tiến trình trong Linux</h1>
		<ul class="list-inline">
			<li>Thứ hai - 23/11/2020 23:57</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="8 lệnh để quản lý hiệu quả các tiến trình trong Linux" src="https://st.quantrimang.com/photos/image/2020/11/23/lenh-quan-ly-tien-trinh-trong-linux-1.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Nói chung, có 3 trạng thái chính trong vòng đời của một tiến trình ứng dụng: Bắt đầu, chạy và dừng. Nếu muốn trở thành quản trị viên có năng lực, bạn cần biết cách quản lý mỗi trạng thái một cách cẩn thận. 8 lệnh sau đây có thể được sử dụng để giúp bạn quản lý toàn bộ vòng đời của tiến trình.</p>

<figure>
<div style="text-align: justify;"><img alt="Nếu muốn trở thành quản trị viên có năng lực, bạn cần biết cách quản lý trạng thái của các tiến trình" data-i="0" data-src="https://st.quantrimang.com/photos/image/2020/11/23/lenh-quan-ly-tien-trinh-trong-linux-1.jpg" data-was-processed="true" height="292" src="https://st.quantrimang.com/photos/image/2020/11/23/lenh-quan-ly-tien-trinh-trong-linux-1.jpg" width="518" /></div>

<figcaption>
<div style="text-align: justify;">Nếu muốn trở thành quản trị viên có năng lực, bạn cần biết cách quản lý trạng thái của các tiến trình</div>
</figcaption>
</figure>

<h2 style="text-align: justify;">Bắt đầu tiến trình</h2>

<p style="text-align: justify;">Cách dễ nhất để bắt đầu một tiến trình là nhập tên của nó trên dòng lệnh, sau đó nhấn&nbsp;<strong>Enter.</strong>&nbsp;Nếu muốn khởi động nginx web server, hãy nhập&nbsp;<strong>nginx.</strong>&nbsp;Có lẽ bạn sẽ muốn xem phiên bản của nó.</p>

<pre id="pre0">
<code>alan@workstation:~ $nginx
 alan@workstation:~ $nginx -v
 nginx version:nginx/1.14.0</code></pre>

<div style="text-align: justify;">&nbsp;</div>

<h3 style="text-align: justify;">Xem đường dẫn thực thi</h3>

<p style="text-align: justify;">Bản demo của tiến trình khởi động ở trên giả định rằng file thực thi nằm trong đường dẫn thực thi của bạn. Hiểu đường dẫn này là chìa khóa để bắt đầu và quản lý các tiến trình một cách đáng tin cậy. Các quản trị viên thường tùy chỉnh đường dẫn này theo mục đích họ muốn. Bạn có thể sử dụng&nbsp;<strong>echo $path</strong>&nbsp;để xem đường dẫn thực thi</p>

<pre id="pre1">
<code>alan@workstation:~ $echo $path
 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin</code></pre>

<h3 style="text-align: justify;">which</h3>

<p style="text-align: justify;">Sử dụng&nbsp;lệnh which&nbsp;để xem đường dẫn đầy đủ của file thực thi.</p>

<pre id="pre2">
<code>alan@workstation:~ $which nginx
 /opt/nginx/bin/nginx</code></pre>

<p style="text-align: justify;">Bài viết sẽ sử dụng phần mềm web server phổ biến nginx làm ví dụ. Giả sử nginx đã được cài đặt. Nếu bạn thực thi lệnh&nbsp;<strong>which nginx</strong>&nbsp;và không có gì được trả về, thì nghĩa là không thể tìm thấy nginx, vì lệnh chỉ tìm kiếm đường dẫn thực thi mà bạn đã chỉ định. Có 3 cách để khắc phục tình huống không thể bắt đầu một tiến trình bằng tên. Đầu tiên là nhập đường dẫn đầy đủ:</p>

<pre id="pre3">
<code>alan@workstation:~ $/home/alan/web/prod/nginx/sbin/nginx -v
 nginx version:nginx/1.14.0</code></pre>

<p style="text-align: justify;">Giải pháp thứ hai là cài đặt ứng dụng trong một thư mục thuộc đường dẫn thực thi, tuy nhiên, điều này đôi khi có thể không thực hiện được, đặc biệt nếu bạn không có quyền&nbsp;root.</p>

<p style="text-align: justify;">Giải pháp thứ ba là cập nhật biến môi trường đường dẫn thực thi của bạn, bao gồm thư mục cài đặt cho ứng dụng cụ thể mà bạn muốn sử dụng. Giải pháp này liên quan đến shell. Ví dụ, người dùng bash cần chỉnh sửa dòng&nbsp;<strong>path=</strong>&nbsp;trong file .bashrc.</p>

<pre id="pre4">
<code>path=&quot;$home/web/prod/nginx/sbin:$path&quot;</code></pre>

<p style="text-align: justify;">Bây giờ, lặp lại&nbsp;lệnh echo&nbsp;và which hoặc thử kiểm tra phiên bản.</p>

<pre id="pre5">
<code>alan@workstation:~ $echo $path
 /home/alan/web/prod/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
 alan@workstation:~ $which nginx
 /home/alan/web/prod/nginx/sbin/nginx
 alan@workstation:~ $nginx -v
 nginx version:nginx/1.14.0</code></pre>

<div style="text-align: justify;">&nbsp;</div>

<h2 style="text-align: justify;">Tiếp tục chạy tiến trình</h2>

<h3 style="text-align: justify;">nohup</h3>

<p style="text-align: justify;">Khi bạn đăng xuất hoặc đóng Terminal, tiến trình có thể không tiếp tục. Trong trường hợp đặc biệt này, bạn có thể giữ cho tiến trình chạy bằng cách đặt lệnh&nbsp;<strong>nohup</strong>&nbsp;trước lệnh muốn chạy. Ngoài ra, thêm một dấu ở cuối và tiến trình sẽ được chạy ở chế độ nền, cho phép bạn tiếp tục sử dụng Terminal. Ví dụ bạn muốn chạy&nbsp;<strong>myprogram.sh.</strong></p>

<pre id="pre6">
<code>nohup myprogram.sh&amp;</code></pre>

<p style="text-align: justify;">nohup trả về pid của tiến trình đang chạy.</p>

<h2 style="text-align: justify;">Quản lý các tiến trình đang chạy</h2>

<p style="text-align: justify;">Mỗi tiến trình có một số nhận dạng duy nhất (pid). Con số này là những gì người dùng sử dụng để quản lý từng tiến trình (bạn cũng có thể sử dụng tên tiến trình). Có một số lệnh để kiểm tra trạng thái của một tiến trình đang chạy. Hãy xem nhanh các lệnh này.</p>

<div style="text-align: justify;">&nbsp;</div>

<h3 style="text-align: justify;">ps</h3>

<p style="text-align: justify;">Phổ biến nhất là lệnh ps. Đầu ra mặc định của ps là một danh sách đơn giản các tiến trình đang chạy trong Terminal hiện tại, như sau, cột đầu tiên chứa pid.</p>

<pre id="pre7">
<code>alan@workstation:~ $ps
 pid tty time cmd
 23989 pts/0 00:00:00 bash
 24148 pts/0 00:00:00 ps</code></pre>

<p style="text-align: justify;">Ví dụ, bạn muốn xem tiến trình nginx đã bắt đầu trước đó. Để làm điều này, bạn cần yêu cầu ps chỉ cho mình mọi tiến trình đang chạy (-e) và danh sách đầy đủ (-f).</p>

<pre id="pre8">
<code>alan@workstation:~ $ps -ef
 uid pid ppid c stime tty time cmd
 root 1 0 0 aug18?00:00:10/sbin/init splash
 root 2 0 0 aug18?00:00:00 &#91;kthreadd&#93;
 root 4 2 0 aug18?00:00:00 &#91;kworker/0:0h&#93;
 root 6 2 0 aug18?00:00:00 &#91;mm_percpu_wq&#93;
 root 7 2 0 aug18?00:00:00 &#91;ksoftirqd/0&#93;
 root 8 2 0 aug18?00:00:20 &#91;rcu_sched&#93;
 root 9 2 0 aug18?00:00:00 &#91;rcu_bh&#93;
 root 10 2 0 aug18?00:00:00 &#91;migration/0&#93;
 root 11 2 0 aug18?00:00:00 &#91;watchdog/0&#93;
 root 12 2 0 aug18?00:00:00 &#91;cpuhp/0&#93;
 root 13 2 0 aug18?00:00:00 &#91;cpuhp/1&#93;
 root 14 2 0 aug18?00:00:00 &#91;watchdog/1&#93;
 root 15 2 0 aug18?00:00:00 &#91;migration/1&#93;
 root 16 2 0 aug18?00:00:00 &#91;ksoftirqd/1&#93;
 alan 20506 20496 0 10:39 pts/0 00:00:00 bash
 alan 20520 1454 0 10:39?00:00:00 nginx:master process nginx
 alan 20521 20520 0 10:39?00:00:00 nginx:worker process
 alan 20526 20506 0 10:39 pts/0 00:00:00 man ps
 alan 20536 20526 0 10:39 pts/0 00:00:00 pager
 alan 20564 20496 0 10:40 pts/1 00:00:00 bash</code></pre>

<p style="text-align: justify;">Bạn có thể thấy tiến trình nginx trong đầu ra của&nbsp;lệnh ps&nbsp;ở trên. Lệnh này hiển thị gần 300 dòng, nhưng đã được rút ngắn nó trong ví dụ này. Như bạn có thể tưởng tượng, việc cố gắng xử lý 300 dòng thông tin tiến trình sẽ hơi khó khăn. Bạn có thể chuyển đầu ra này thành grep và lọc nó để chỉ hiển thị nginx.</p>

<pre id="pre9">
<code>alan@workstation:~ $ps -efgrep nginx
 alan 20520 1454 0 10:39?00:00:00 nginx:master process nginx
 alan 20521 20520 0 10:39?00:00:00 nginx:worker process</code></pre>

<p style="text-align: justify;">Bạn có thể nhanh chóng thấy rằng pid của nginx là&nbsp;<strong>20520</strong>&nbsp;và&nbsp;<strong>20521.</strong></p>

<h3 style="text-align: justify;">pgrep</h3>

<p style="text-align: justify;">Lệnh pgrep đơn giản hóa các vấn đề gặp phải khi gọi chỉ mình grep.</p>

<pre id="pre10">
<code>alan@workstation:~ $pgrep nginx
 20520
 20521</code></pre>

<p style="text-align: justify;">Giả sử bạn đang ở trong một môi trường được host, nhiều người dùng đang chạy một số phiên bản nginx khác nhau. Bạn có thể sử dụng tùy chọn&nbsp;<strong>-u</strong>&nbsp;để loại trừ những người khác khỏi đầu ra.</p>

<pre id="pre11">
<code>alan@workstation:~ $pgrep -u alan nginx
 20520
 20521</code></pre>

<h3 style="text-align: justify;">pidof</h3>

<p style="text-align: justify;">Một lệnh hữu ích khác là pidof. Lệnh này sẽ kiểm tra pid của một file nhị phân cụ thể, ngay cả khi một tiến trình khác có cùng tên đang chạy. Để xây dựng một ví dụ, tác giả bài viết đã sao chép nginx của mình vào thư mục thứ hai và bắt đầu với tiền tố đường dẫn tương ứng. Trong thực tế, ví dụ này có thể ở một vị trí khác, chẳng hạn các thư mục thuộc sở hữu của những người dùng khác nhau. Nếu chạy hai phiên bản nginx, đầu ra pidof hiển thị tất cả các tiến trình.</p>

<pre id="pre12">
<code>alan@workstation:~ $ps -efgrep nginx
 alan 20881 1454 0 11:18?00:00:00 nginx:master process ./nginx -p/home/alan/web/prod/nginxsec
 alan 20882 20881 0 11:18?00:00:00 nginx:worker process
 alan 20895 1454 0 11:19?00:00:00 nginx:master process nginx
 alan 20896 20895 0 11:19?00:00:00 nginx:worker process</code></pre>

<p style="text-align: justify;">Sử dụng grep hoặc pgrep sẽ hiển thị số pid, nhưng bạn có thể không biết đó là phiên bản nào.</p>

<pre id="pre13">
<code>alan@workstation:~ $pgrep nginx
 20881
 20882
 20895
 20896</code></pre>

<p style="text-align: justify;">Lệnh pidof có thể được sử dụng để xác định pid của từng phiên bản nginx cụ thể.</p>

<pre id="pre14">
<code>alan@workstation:~ $pidof/home/alan/web/prod/nginxsec/sbin/nginx
 20882 20881
 alan@workstation:~ $pidof/home/alan/web/prod/nginx/sbin/nginx
 20896 20895</code></pre>

<h3 style="text-align: justify;">top</h3>

<p style="text-align: justify;">Lệnh top có lịch sử lâu đời, rất hữu ích để xem chi tiết các tiến trình đang chạy và nhanh chóng xác định những vấn đề như tiêu thụ bộ nhớ. Chế độ xem mặc định của nó được hiển thị bên dưới.</p>

<pre id="pre15">
<code>top-11:56:28 up 1 day, 13:37, 1 user, load average:0.09, 0.04, 0.03
 tasks:292 total, 3 running, 225 sleeping, 0 stopped, 0 zombie
 %cpu (s):0.1 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
 kib mem:16387132 total, 10854648 free, 1859036 used, 3673448 buff/cache
 kib swap:0 total, 0 free, 0 used. 14176540 avail mem
  pid user pr ni virt res shr s%cpu%mem time + command
 17270 alan 20 0 3930764 247288 98992 r 0.7 1.5 5:58.22 gnome-shell
 20496 alan 20 0 816144 45416 29844 s 0.5 0.3 0:22.16 gnome-terminal-
 21110 alan 20 0 41940 3988 3188 r 0.1 0.0 0:00.17 top
  1 root 20 0 225564 9416 6768 s 0.0 0.1 0:10.72 systemd
  2 root 20 0 0 0 0 s 0.0 0.0 0:00.01 kthreadd
  4 root 0 -20 0 0 0 i 0.0 0.0 0:00.00 kworker/0:0h
  6 root 0 -20 0 0 0 i 0.0 0.0 0:00.00 mm_percpu_wq
  7 root 20 0 0 0 0 s 0.0 0.0 0:00.08 ksoftirqd/0</code></pre>

<p style="text-align: justify;">Bạn có thể thay đổi khoảng thời gian cập nhật bằng cách nhập ký tự&nbsp;<strong>s</strong>&nbsp;và số giây cập nhật ưa thích. Để dễ dàng theo dõi tiến trình nginx mẫu, ví dụ có thể sử dụng tùy chọn&nbsp;<strong>-p</strong>&nbsp;và chuyển pid để gọi top. Đầu ra này gọn gàng hơn nhiều.</p>

<pre id="pre16">
<code>alan@workstation:~ $top -p20881 -p20882 -p20895 -p20896
 tasks:4 total, 0 running, 4 sleeping, 0 stopped, 0 zombie
 %cpu (s):2.8 us, 1.3 sy, 0.0 ni, 95.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
 kib mem:16387132 total, 10856008 free, 1857648 used, 3673476 buff/cache
 kib swap:0 total, 0 free, 0 used. 14177928 avail mem
 pid user pr ni virt res shr s%cpu%mem time + command
 20881 alan 20 0 12016 348 0 s 0.0 0.0 0:00.00 nginx
 20882 alan 20 0 12460 1644 932 s 0.0 0.0 0:00.00 nginx
 20895 alan 20 0 12016 352 0 s 0.0 0.0 0:00.00 nginx
 20896 alan 20 0 12460 1628 912 s 0.0 0.0 0:00.00 nginx</code></pre>

<p style="text-align: justify;">Trong quá trình quản lý, đặc biệt là khi kết thúc một tiến trình, điều quan trọng là phải xác định chính xác pid. Ngoài ra, nếu top được sử dụng theo cách này, bất cứ khi nào một trong các tiến trình này dừng lại hoặc một tiến trình mới bắt đầu, top cần được thông báo về những tiến trình mới.</p>

<h2 style="text-align: justify;">Kết thúc tiến trình</h2>

<h3 style="text-align: justify;">kill</h3>

<p style="text-align: justify;">Điều thú vị là không có lệnh stop. Trong Linux, chỉ có lệnh kill. Lệnh kill được sử dụng để gửi một tín hiệu đến một tiến trình. Các tín hiệu phổ biến nhất là&nbsp;<strong>&quot;sigterm&quot;</strong>&nbsp;hoặc&nbsp;<strong>&quot;sigkill&quot;.</strong>&nbsp;Tuy nhiên, còn nhiều hơn thế. Sau đây là một số ví dụ, danh sách đầy đủ có thể được hiển thị với&nbsp;<strong>kill -l</strong>.</p>

<pre id="pre17">
<code>1) sighup 2) sigint 3) sigquit 4) sigill 5) sigtrap
 6) sigabrt 7) sigbus 8) sigfpe 9) sigkill 10) sigusr1
 11) sigsegv 12) sigusr2 13) sigpipe 14) sigalrm 15) sigterm</code></pre>

<p style="text-align: justify;">Lưu ý tín hiệu thứ 9 là&nbsp;<strong>sigkill.</strong>&nbsp;Thông thường, bạn sẽ gửi một lệnh gì đó giống như lệnh&nbsp;<strong>kill -9 20896</strong>. Tín hiệu mặc định là&nbsp;<strong>15 - sigterm</strong>. Hãy nhớ rằng nhiều ứng dụng có các phương pháp dừng riêng của chúng. Nginx sử dụng tùy chọn&nbsp;<strong>-s</strong>&nbsp;để chuyển tín hiệu, chẳng hạn như dừng hoặc load lại. Nói chung, đa phần mọi người thích sử dụng phương pháp dành riêng cho ứng dụng để dừng hoạt động, tuy nhiên, bài viết sẽ chứng minh bằng cách sử dụng lệnh kill để dừng quy trình nginx 20896, sau đó sử dụng pgrep để xác nhận rằng nó đã dừng. Pid 20896 không còn xuất hiện nữa.</p>

<pre id="pre18">
<code>alan@workstation:~ $kill -9 20896
 alan@workstation:~ $pgrep nginx
 20881
 20882
 20895
 22123</code></pre>

<h3 style="text-align: justify;">pkill</h3>

<p style="text-align: justify;">Lệnh pkill tương tự như pgrep ở chỗ nó có thể tìm kiếm theo tên, điều này có nghĩa là bạn phải rất cẩn thận khi sử dụng pkill. Trong ví dụ nginx này, nếu chỉ muốn dừng 1 phiên bản nginx, có lẽ bạn sẽ không chọn sử dụng pkill. Bạn có thể chuyển tùy chọn nginx -s stop cho một phiên bản cụ thể để loại bỏ nó, hoặc sử dụng grep để lọc toàn bộ đầu ra ps.</p>

<pre id="pre19">
<code>/home/alan/web/prod/nginx/sbin/nginx -s stop
 /home/alan/web/prod/nginxsec/sbin/nginx -s stop</code></pre>

<p style="text-align: justify;">Nếu muốn sử dụng pkill, bạn có thể bao gồm tùy chọn&nbsp;<strong>-f</strong>&nbsp;để cho phép pkill lọc toàn bộ đối số dòng lệnh. Điều này tất nhiên cũng áp dụng cho pgrep. Vì vậy, khi thực thi&nbsp;<strong>pkill -f</strong>, trước hết, bạn có thể sử dụng&nbsp;<strong>pgrep -a</strong>. Xác nhận nó.</p>

<pre id="pre20">
<code>alan@workstation:~ $pgrep -a nginx
 20881 nginx:master process ./nginx -p/home/alan/web/prod/nginxsec
 20882 nginx:worker process
 20895 nginx:master process nginx
 20896 nginx:worker process</code></pre>

<p style="text-align: justify;">Bạn cũng có thể sử dụng&nbsp;<strong>pgrep -f</strong>&nbsp;để thu hẹp kết quả của mình.&nbsp;<strong>pkill</strong>&nbsp;dừng tiến trình với các thông số tương tự.</p>

<pre id="pre21">
<code>alan@workstation:~ $pgrep -f nginxsec
 20881
 alan@workstation:~ $pkill -f nginxsec</code></pre>

<p style="text-align: justify;">Điều quan trọng cần nhớ về pgrep (đặc biệt là pkill) là bạn phải luôn đảm bảo rằng kết quả tìm kiếm của mình là chính xác, Bằng cách này bạn sẽ không vô tình làm ảnh hưởng đến quá trình không chính xác.</p>

<p style="text-align: justify;">Hầu hết các lệnh này có nhiều tùy chọn, vì vậy, bạn nên đọc trang&nbsp;<strong>man</strong>&nbsp;cho mỗi lệnh. Mặc dù hầu hết các lệnh này tồn tại trên những nền tảng như linux, solaris và bsd, nhưng vẫn có một số khác biệt. Khi làm việc trên dòng lệnh hoặc viết script, hãy luôn kiểm tra và sẵn sàng sửa chữa khi cần thiết.</p>
		</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/8-lenh-de-quan-ly-hieu-qua-cac-tien-trinh-trong-linux-3127.html" title="8 lệnh để quản lý hiệu quả các tiến trình trong Linux">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/8-lenh-de-quan-ly-hieu-qua-cac-tien-trinh-trong-linux-3127.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>