Linux:程序狀態
- 為了弄明白正在執行的程序什麼意思,我們需要知道程序不同的狀態,一個程序可以有幾個狀態
1.執行態(running):並不意味著程序一定在執行中,他表明程序要麼在執行要麼在執行佇列裡
2.可中斷睡眠狀態(sleeping):意味著程序在等待事件完成
3.不可中斷睡眠狀態(disk sleep):在這個狀態的程序會等待IO的結束
4.停止狀態(stopped):可以通過傳送SIGSTOP訊號給程序來停止程序,這個被暫停的程序可以通過傳送SIGCONT訊號讓程序繼續執行
5.死亡狀態(dead):這個狀態只是一個返回狀態,你不會在任何任務列表裡看到這個狀態
6.殭屍狀態(zombie): 僵死狀態是一個比較特殊的狀態,當子程序退出但父程序沒有讀取到子程序退出返回的程式碼時就會產生僵死狀態,僵死程序會佔用你的正常資源 - 一個讀取程序狀態的程式碼
(1)執行態,執行程式碼後,我們領開啟一個終端,輸入:ps aux | head -n 1 && ps aux|grep a.out
可以檢視a.out的執行狀態,為執行態
(2)睡眠態,我們給while迴圈里加上sleep(1);
的程式碼然後檢視程序狀態,為睡眠態
(3)停止狀態,我們按ctrl+z,程序停止,然後檢視程序狀態,為停止態
相關推薦
Linux:程序狀態
為了弄明白正在執行的程序什麼意思,我們需要知道程序不同的狀態,一個程序可以有幾個狀態 1.執行態(running):並不意味著程序一定在執行中,他表明程序要麼在執行要麼在執行佇列裡 2.可中斷睡眠狀態(sleeping):意味著程序在等待事件完成 3.不可中斷睡眠狀態(disk sl
Linux程序狀態解析 之 R、S、D、T、Z、X (主要有三個狀態)
linux是一個多使用者,多工的系統,可以同時執行多個使用者的多個程式,就必然會產生很多的程序,而每個程序會有不同的狀態。 Linux程序狀態:R (TASK_RUNNING),可執行狀態。 只有在該狀態的程序才可能在CPU上執行。而
Linux 程序狀態淺析
眾所周知,現在的分時作業系統能夠在一個CPU上執行多個程式,讓這些程式表面上看起來是在同時執行的。linux就是這樣的一個作業系統。 在linux系統中,每個被執行的程式例項對應一個或多個程序。linux核心需要對這些程序進行管理,以使它們在系統中“同時”執行。linux核心對程序的這種管理分兩個方面:程序
linux程序狀態詳解
Linux是一個多使用者,多工的系統,可以同時執行多個使用者的多個程式,就必然會產生很多的程序,而每個程序會有不同的狀態。 Linux程序狀態:R (TASK_RUNNING),可執行狀態。 只有在該狀態的程序才可能在CPU上執行。而同一時刻可能有多個程序處於可執行狀
Linux程序狀態(ps stat)之R、S、D、T、Z、X
我們先來了解一下各種程序狀態: TASK_RUNNING:程序當前正在執行,或者正在執行佇列中等待排程。TASK_INTERRUPTIBLE:程序處於睡眠狀態,正在等待某些事件發生。程序可以被訊號中斷。接收到訊號或被顯式的喚醒呼叫喚醒之後,程序將轉變為TASK_RU
Linux程序管理之狀態(二)
二、程序的生命週期 程序是一個動態的實體,所以他是有生命的。從建立到消亡,是一個程序的整個生命週期。在這個週期中,程序可能會經歷各種不同的狀態。一般來說,所有程序都要經歷以下的3個狀態: 就緒態。指程序已經獲得所有所需的其他資源,正在申請處理處理器資源,準備開始執行。這種情況下,稱程序處於就緒態。
Linux程序之如何管理程序?如何動態地檢視程序的狀態?(top命令)
文章目錄 1. top命令的主要作用 2. top命令引數解讀 2.1 第一行 2.2 第二行 2.3 第三行 2.4 第四行 2.5 第五行 2.6 第六行為空,下面是第七行
【Linux】程序狀態。重點殭屍程序,孤兒程序
我們都知道程序可以認為是一個執行的程式,那麼為了弄明白正在執行的程序是什麼意思,我們需要先了解程序的狀態。。。下面的狀態在kernel原始碼中定義: 1.程序狀態 R執行狀態:並不意味著程序一定在執行中,它表明程序要麼在執行中要麼在執行佇列裡。
用Shell指令碼定時監控Linux下的程序狀態並自動重啟
以mysql為例,先上shell指令碼,如下: #!/bin/bash ps -ef | grep mysqld | grep -v grep if [ $? -ne 0 ] then echo “start process…” /etc/rc.d/init.d
linux 程序狀態
"Binder:1643_E" prio=5 tid=106 Native | group="main" sCount=1 dsCount=0 obj=0x16034ee0 self=0x7f5769d200
Linux系統R、S、D、T、Z集中程序狀態的解析
Linux的程序存在多種狀態,如TASK_RUNNING的執行態、EXIT_DEAD的停止態和TASK_INTERRUPTIBLE的接收訊號的等待狀態等等(可在include/linux/sched.h中檢視)。 什麼是D狀態 執行在KVM虛擬機器裡的一些程序突然出了
Linux下如何用/proc命令查詢程序狀態資訊——當前目錄,記憶體佔用,描述符等
參加阿里的面試,問到一個問題,如何在Linux下使用命令列查詢程序的狀態資訊,比如程序的當前目錄,程序的記憶體佔用等情況。當時的第一反應是使用top命令能夠得到所有的程序資訊。但是面試官好像不是很滿意,因此我回去之後查閱了相關的資料,發現可能他想問的/proc目錄,我這裡整
ubuntu (linux) 中的程序狀態查詢與管理 top/htop/ps/pgrep/kill
1.一個簡單粗暴的指令,顯示程序資訊,並顯示記憶體,核心,等的佔用情況--top: top - 00:03:48 up 1:09, 2 users, load average: 1.15, 1.22, 1.23 Tasks: 256 total, 1 runnin
Linux中用ps命令檢視程序狀態
Linux上程序有5種狀態: 1. 執行(正在執行或在執行佇列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號) 3. 不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷髮生) 4. 僵死(程序已終止, 但程序描
Linux核心模組程式設計(列出系統中所有核心執行緒的程式名、PID 號、程序狀態及程序優先順序、父程序的PID)
(1) 設計一個模組,要求列出系統中所有核心執行緒的程式名、PID 號、程序狀態及程序優先順序、父程序的PID。 1.首先,我們開始編寫模組程式碼,這是Linux核心程式設計的核心程式碼,程式碼如下: #include <linux/init.h&
Linux程序的狀態轉換圖
http://blog.csdn.net/mu0206mu/article/details/7348618 ◆執行狀態(TASK_RUNNING)當程序正在被CPU執行,或已經準備就緒隨時可由排程程式執行,則稱該程序為處於執行狀態(running)。程序可以在核
Linux程序執行狀態圖
程序是一個動態的實體,所以他是有生命的。從建立到消亡,是一個程序的整個生命週期。在這個週期中,程序可能會經歷各種不同的狀態。一般來說,所有程序都要經歷以下的3個狀態: 就緒態。指程序已經獲得所有所需的其他資源,正在申請處理處理器資源,準備開始執行。這種情況下,稱程序處於就緒態。阻塞態。指程序因為需要等待所需
linux下如何檢視程序狀態
我們知道所有的程序資訊基本都可以在/proc下面找到,但有的時候檢視有點麻煩。 如果想看程序的基本資訊,ps就可以了,但ps檢視的時間其實是真正cpu執行的時間,而不是程式啟動的時間,如下 [[email protected] conf]# ps -e|grep
Linux系統之程序狀態
一、程序狀態 D:uninterruptible sleep (usually IO) R:running or runnable (on run queue) S:interruptible sleep (waiting for an event to complete) T:stopped by job
如何運行linux程序
linux程序 執行文件 運行程序 source 解釋器 導讀搞懂linux程序如何運行是一件重要的事情,這是為我們進一步發展打下了堅實基礎的一步。本文將通過實例來詳細地講解如何運行linux程序。希望對於大家理解有幫助。首先,我們從一個十分簡單的例子test.sh開始吧:#!/bin/s