Linux sistemiyle ilgili bilgi noktalarının paylaşılması

Bir, süreç yönetimi

1. Süreç nedir

Çalışan program

2. Süreç yönetiminin rolü

Sistemin sağlığını belirleyin

Sistemdeki tüm süreçleri görüntüleyin

Öldürme süreci

3. Sürecin görünümü

ps command ps aux #list sistemin tüm işlemlerini, aux'un önüne ekleyemezsiniz, aksi takdirde bir uyarı görünecektir ps -le #list sistemin tüm işlemlerini, linux standart biçim seçeneği: -a: bir terminalin tüm işlemlerini görüntüle -u : İşlemin kullanıcı ve bellek kullanımını görüntüleyin -x: işlemi terminal kontrolü olmadan görüntüleyin -e: tüm işlemleri görüntüleyin -l: uzun formatta görüntüleyin, daha ayrıntılı bilgileri görüntüleyin

KULLANICI: İşlem sahibinin kullanıcı PID'si: İşlem Kimliği% CPU: CPU kullanımı% MEM: Bellek kullanımı VSZ: Sanal bellek kullanımı RSS: Gerçek bellek kullanımı TTY: Terminal tipi, tty1 ~ tty7, yerel terminal, pts0 ~ pts255 Uzak terminal STAT: işlem durumu, R çalıştırmaları, S uyur, T durur, s alt süreçleri içerir, + arka planda çalışan START: işlemin başlangıç zamanı TIME: işlem tarafından tüketilen CPU süresi KOMUT: komut

pstree komutu pstree -pu # Süreci bir ağaç seçeneği olarak görüntüle: -p: bir işlemin pid'ini görüntüle -u: bir işlemin kullanıcısını görüntüle

Top command top komutu, sistemin çalışma durumunu ve sistemin çalışan işlemlerini görüntüleyebilir.Üst, varsayılan olarak her 3 saniyede bir yenilenir.Üstün ilk beş satırı, sistem durumu ve aşağıdaki çalışan işlemlerdir. top aynı zamanda, kullanıcı tarafından girilen farklı talimatlara göre farklı şekilde işlenebilen etkileşimli bir programdır. üst seçenek # Sistem durumunu görüntüle seçeneği: -i < zaman > : Aralık süresini ayarlayın; -u < Kullanıcı adı > : Kullanıcı adını belirtin; -p < İşlem Kimliği > : İşlemi belirtin; -n < Sıklık > : Görüntülenen döngü sayısı. Etkileşim: M: yerleşik belleğin boyutuna göre sıralayın; P: CPU kullanım yüzdesine göre sıralayın; T: zamana / kümülatif zamana göre sıralayın; q: programdan çıkın; h: yardım ekranını görüntüleyin ve bazı kısa komut özeti verin Açıklama; alanların ilk beş satırının açıklaması: ilk 09: 44: 56,16 gün, 1 kullanıcı, yük ortalaması: 9.59, 4.75, 1.92 Görevler: 145 toplam, 2 çalışıyor, 143 uyuyor, 0 durduruldu, 0 zombi, Cpu (s ):% 99,8 us,% 0,1 sy,% 0,0 ni,% 0,2 id,% 0,0 wa,% 0,0 yüksek,% 0,0 st, Mem: 4147888k toplam, 2493092k kullanılmış, 1654796k boş, 158188k buffersSwap: 5144568k toplam, 56k kullanılmış, 5144512k ücretsiz, 2013180k önbelleğe alındı

4. Süreci sonlandırın

Kill komutu, yürütülen bir programı veya işi silmek için kullanılır. Kill belirtilen bilgileri programa gönderebilir. Önceden ayarlanmış bilgiler, belirtilen programı sonlandırabilen SIGTERM (15) 'dir. Programı hala sonlandıramıyorsanız, programı zorla silmeyi denemek için SIGKILL (9) mesajını kullanabilirsiniz. Program veya iş numarası, ps komutu veya iş komutu kullanılarak görüntülenebilir. HUP 1 Terminal bağlantısının kesilmesi INT 2 Interrupt (Ctrl + C ile aynı) QUIT 3 Exit (Ctrl + \ ile aynı) TERM 15 Terminate KILL 9 Zorunlu sonlandırma CONT 18 Devam (STOP, fg / bg komutunun aksine) STOP 19 Duraklat (Ctrl + ile aynı) Z)

Killkill seçeneği: -a: Mevcut işlemi işlerken, komut adı ile işlem numarası arasındaki yazışmayı sınırlamayın; -l < Mesaj numarası > : Değilse < Mesaj numarası > Seçenek, -l parametresi tüm bilgi adlarını listeler; -p: herhangi bir sinyal göndermeden yalnızca ilgili işlemin işlem numarasını yazdırmak için kill komutunu belirtin; -s < Bilgi adı veya numarası > : Gönderilecek bilgileri belirtin; -u: Kullanıcıyı belirtin.

killall Bazen bir yazılımın veya hizmetin birden çok işlemi vardır Killall kullanmak yalnızca bir işlemi öldürebilirken, killall bir yazılım veya hizmetin tüm işlemlerini öldürebilir. Killall işlem adı seçenekleri: -i: etkileşimli mod; -I: işlem adının büyük / küçük harf durumunu yoksay

pkillpkill işlem adı seçeneği: -t: terminal numarası; kullanıcıları terminal numarasına göre at:

2. İş yönetimi (arka plan program yönetimi) İş yönetimi, arka plan program yönetimidir. Bazen, bazı karmaşık görevler gerçekleştirilir, örneğin: büyük dosyaların kopyalanması, büyük dosyaların yedeklenmesi, vb. Bu tür görevlerin çalıştırılması genellikle uzun zaman alır. Bu görev terminali işgal edecek. Şu anda sadece görevin tamamlanmasını bekleyebiliriz ve tamamlanmadan hiçbir şey yapamayız. Aslında, bu görevi arka plana koymak bu sorunu çözebilir.

1. Programı arka planda çalıştırma

Komuttan sonra ekleyin, örneğin: tar -zcf vb. Tar.gz / etc

Ön planda bir komutu yürütürken Ctrl + Z tuşlarına basın ve duraklatmak için arka plana koyun.

2. Arka plan programlarını görüntüleyin

işler seçeneği: -l: arka plan programı PID'sini görüntüler

Not: Parantez içindeki sayı, ön ve arka arasında geçiş yaparken kullanılabilen arka plan programının numarasıdır. +, Arka plana son yerleştirilen anlamına gelir - arka planda sondan bir önceki anlamına gelir.

3. Ön ve arka plan programları arasında geçiş yapın

fg% program numarası, arka plan programını ön plana koyun

bg% program numarası, ön plan programını arka plan açıklamasına koyun: program numarası, parantez içindeki sayıdır

4. Terminalden uzaklaşın

Terminalden çıkma kavramı, terminalde çalıştırdığımız programın terminale bağlı olması ve terminalden çıktığımızda programın otomatik olarak sona ermesidir. Bazen bir servis başlatmak istiyoruz ve daha sonra terminalden çıktıktan sonra çalışabilir, şu anda onu terminalden çıkarmamız gerekiyor.

Sistem hizmeti terminalde başlatılmaz, /etc/rc.d/rc.local içine yazılabilir.

Zamanlanmış bir göreve koyun

nohup komutu: nohup komutu Üç, sistem kaynaklarını görüntüle

1. vmstat, sistemin işlem, bellek, G / Ç vb. Gibi genel işletim durumunu bildirir.

Procs (işlem)

r: Çalıştırma kuyruğundaki işlemlerin sayısı Bu değer ayrıca CPU'nun artırılması gerekip gerekmediğini de belirleyebilir. (Uzun vadeli 1'den büyük)

b: GÇ'yi bekleyen işlemlerin sayısı. Hafıza

swpd: Sanal bellek boyutunu kullan Swpd'nin değeri 0 değilse, ancak SI ve SO'nun değeri uzun süre 0 ise, bu durum sistem performansını etkilemeyecektir.

free: Boş fiziksel bellek boyutu.

buff: Arabellek olarak kullanılan belleğin boyutu.

Önbellek: Önbellek için kullanılan belleğin boyutu Önbellek değeri büyükse, önbellekte çok sayıda dosya olduğu anlamına gelir.Sıklıkla erişilen dosyalar önbelleğe alınabilirse, disk okuma IO bi çok küçük olacaktır. Takas

si: Takas alanından belleğe saniyede yazılan, diskten belleğe aktarılan boyut.

so: Hafızadan diske aktarılan, takas alanına saniyede yazılan belleğin boyutu. Not: Bellek yeterli olduğunda, bu iki değer 0'dır. Bu iki değer uzun süre 0'dan büyükse, sistem performansı etkilenecek ve disk G / Ç ve CPU kaynakları tüketilecektir. Bazı arkadaşlar boş hafızanın (ücretsiz) çok küçük veya 0'a yakın olduğunu gördüklerinde, hafızanın yeterli olmadığını düşünürler.Buna sadece bakamazsınız, aynı zamanda si ve benzerlerini de birleştirebilirsiniz. Çok az boş varsa, ama si ve benzeri de çok azdır (Çoğu zaman 0'dır), bu yüzden endişelenmeyin, sistem performansı şu anda etkilenmeyecektir. IO (Mevcut Linux sürümünün blok boyutu 1kb'dir)

bi: saniyede okunan blok sayısı

bo: Saniyede yazılan blok sayısı Not: Rastgele disk okuduğunda ve yazdığında, iki değer ne kadar büyükse (örneğin 1024k'yi aşarsa), IO için bekleyen CPU'nun değeri o kadar büyük olur. sistemi

in: Saat kesintileri dahil, saniye başına kesinti sayısı.

cs: Saniyedeki bağlam anahtarı sayısı. Not: Yukarıdaki 2 değer ne kadar büyükse, çekirdek tarafından tüketilen CPU süresi o kadar fazla olur. CPU (yüzde olarak ifade edilir)

us: Kullanıcı işlem yürütme süresi yüzdesi (kullanım süresi), değerimiz nispeten yüksek olduğunda, bu, kullanıcı işleminin daha fazla CPU zamanı tükettiği anlamına gelir, ancak kullanım uzun süre% 50'yi aşarsa, program algoritmasını optimize etmeyi veya hızlandırmayı düşünmeliyiz.

sy: Çekirdek sistemi işlem yürütme süresi (sistem zamanı) sy değerinin sistem zamanı yüzdesi yüksek olduğunda, bu, sistem çekirdeğinin daha fazla CPU kaynağı tükettiği anlamına gelir.Bu iyi bir performans değildir, nedenini kontrol etmeliyiz.

wa: IO bekleme süresi yüzdesi wa değeri yüksek olduğunda, IO beklemesinin ciddi olduğunu gösterir.Bu diske çok sayıda rastgele erişimden kaynaklanıyor olabilir veya diskte bir darboğaz (blok işlemi) oluşabilir.

id: boş zaman yüzdesi 2. ücretsiz, bellek kullanımını göster, seçenekler hangi birimde görüntülenir 3. dmesg: önyükleme öz denetim bilgisi, 4. cpu görüntüle: cat /proc/cpuinfo5.uptime: en üst komutun ilk satırı 6 Çekirdek bilgilerini kontrol edin: uname -a7.linux yayın sürümü: lsb_release -a 4. Zamanlama görevleri

1. içinde

At komutu, komutları belirli bir zamanda yürütmek için kullanılır. seçeneğinde: -m: Görev yürütüldükten sonra kullanıcıya bir E-posta gönderin. -c: Tüm ayarların belirli komut zamanını görüntüleyin: SS: DD, örneğin: 02:33 SS: AA YYYY-AA-GG örneğin: 15:282018-3-295pm + 3 gün sonra 5:17:20 yarın 17: 20atq sorgusu yapın ve bu görevleri atrm olarak ayarlayın, -c görev numarasında ayarlanan görevleri silin, görevin belirli içeriğini görüntüleyin

Not: /etc/at.allow ve /etc/at.deny, sırasıyla hizmetteki beyaz liste ve kara listedir. Kullanıcı adını meşgul olduğunuza yazdığınız sürece etkili olacaktır. .Allow'un önceliği .deny'den daha büyüktür, bunun gibi Diğer hizmetlerin beyaz listesi ve kara listesi şunları da içerir: crontab Not: içindeki görevlerin izinleri, görevleri oluşturan kullanıcınınkilerle aynıdır.İzinler aşılırsa, çalıştırılmazlar.

2.crontab

Crontab komutu, periyodik olarak yürütülmesi gereken kullanıcı görevlerini göndermek ve yönetmek için kullanılır.Windows altında zamanlanmış görevlere benzer.İşletim sistemi kurulduğunda, bu servis aracı varsayılan olarak yüklenecek ve crond işlemi otomatik olarak başlayacak, her dakika crond işlemi Düzenli olarak yürütülecek bir görev olup olmadığını kontrol edecek ve yürütülecek bir görev varsa, görev otomatik olarak yürütülecektir. crontab seçeneği: -e: vim düzenleyiciyi kullanarak crontab'ı düzenleyin -l: tüm zamanlama görevlerini listeleyin -r: tüm zamanlama görevlerini silin crontab yazma kuralları: kullanıcı tarafından oluşturulan crontab dosyasında, her satır bir öğeyi temsil eder Görev, her satırdaki her alan bir ayarı temsil eder. Biçimi altı alana bölünmüştür. İlk beş bölüm, zaman ayarı bölümü ve altıncı bölüm, yürütülecek komut bölümüdür. Biçim aşağıdaki gibidir: dakika saat gün ay hafta Komut dizisi: zaman paylaşımlı gün, ay ve hafta:

dakika: 0 - 59 arasında herhangi bir tam sayı olabilen dakikayı temsil eder.

saat: 0 ile 23 arasında herhangi bir tam sayı olabilen saati gösterir.

gün: 1 ile 31 arasında herhangi bir tam sayı olabilecek tarihi belirtir.

ay: 1'den 12'ye kadar herhangi bir tam sayı olabilen ayı temsil eder.

hafta: 0 ile 7 arasında herhangi bir tam sayı olabilen haftanın gününü belirtir; 0 veya 7, Pazar'ı temsil eder.

komut: Bir sistem komutu veya kendi yazdığınız bir komut dosyası olabilen, yürütülecek komut. Yukarıdaki alanların her birinde aşağıdaki özel karakterler de kullanılabilir:

Yıldız işareti (*): Olası tüm değerleri temsil eder.Örneğin, ay alanı bir yıldız işaretiyse, komut işleminin her ay diğer alanların kısıtlamaları karşılandıktan sonra yürütüleceği anlamına gelir.

Virgül (,): Virgülle ayrılmış değerler içeren bir liste aralığı belirtebilirsiniz, örneğin, "1,2,5,7,8,9"

Orta çubuk (-): Tam sayılar arasındaki orta çubuk, bir tamsayı aralığını temsil etmek için kullanılabilir; örneğin, "2-6", "2,3,4,5,6" anlamına gelir

Eğik çizgi (/): Zaman aralığı sıklığını belirtmek için eğik çizgi kullanabilirsiniz, örneğin, "0-23 / 2", her iki saatte bir yürütüleceği anlamına gelir. Aynı zamanda, eğik çizgi * / 10 gibi bir yıldız işaretiyle kullanılabilir. Dakika alanında kullanılıyorsa, her on dakikada bir çalıştırılacağı anlamına gelir. Örnek: smb45'i her ayın 1, 10'u ve 22'si saat 4: 45'te yeniden başlatın 41,10,22 * * /etc/init.d/smb iki günde bir saat 8'den 11'e, 3'üncü ve 15'inci günlerde yeniden başlatın 3,158-11 * / 2 * * komut açıklamasını dakikalar içinde yürütün: /etc/cron.allow ve /etc/cron.deny sırasıyla cron hizmetinin beyaz listesi ve kara listesidir. Kullanıcı adını meşgul olduğunuza yazmanız yeterlidir. .Allow önceliğinin .deny önceliğinden daha büyük olduğu durumlarda etkili olun. Not: crontab'daki görevlerin izinleri, görevleri oluşturan kullanıcınınkilerle aynıdır. İzinler aşılırsa, çalıştırılmazlar.

3. Sistem zamanlama görevleri

Sistem zamanlama görevleri, / etc / crontab yapılandırma dosyası aracılığıyla ayarlanır.Yazım kuralları, kullanıcı alanının eklenmesi dışında crontab -e'ye benzer.

/ Etc / altında dört özel klasör vardır. Bu dört klasör, zamanlama görev betiklerini depolar.Çalıştırılabilir betik cron.daily altına yerleştirildiği sürece günde bir kez çalıştırılır ve cron.hourly saatte bir çalıştırılır. cron.monthly ayda bir, cron.weekly haftada bir yürütülür

4. anakron

Yukarıdakiler, bir klasörün yürütülmesinin / etc / crontab ve anacron'a bağlı olduğudur ve centos6, yürütme için tamamen anacron'a güvenecektir. Önceki centos6 sürümünün / etc / crontab dosyası doğrudan ayarlanacaktır ve centos6 ve sonraki sürümler için böyle bir ayar yoktur.

Anacron ilkesi: / var / spool / anacron / altında cron.daily, cron.weekly, cron.mouthly olmak üzere üç dosya vardır ve bu üç dosya dizinleri / etc / altındaki üç dosyayla aynı adlarla kaydeder. Tüm komut dosyalarının son yürütme zamanı. Anacron her gün cron.daily'yi kontrol edecek, yedi günde bir cron.weekly'yi kontrol edecek ve kayıt zamanı ile kontrol zamanı arasındaki zaman farkını karşılaştırmak için her ay cron.mouthly dosyasına kaydedilen zamanı kontrol edecektir. Bir günden, bir haftadan veya bir aydan fazlaysa, ilgili dosya çalıştırılacaktır. Klasörün altındaki komut dosyası. Anacron yapılandırma dosyası: / etc / anacrontab

RANFD_DELAY: Rastgele gecikme START_HOURS_RANGE: Yürütme zaman aralığı Son üç satırda sırasıyla şunları temsil eden dört alan vardır: gün sayısı, zorunlu gecikme süresi, iş adı, gerçek komut örnek olarak cron.daily'nin yürütülmesini alır:

İlk kontrol /var/spool/anacron/cron.daily

Kaydedilen zamanı ve şimdiki zamanı karşılaştırın

Zaman bir günden fazlaysa, komut dosyasını /etc/cron.daily altında çalıştırın.

Yalnızca saat 3 ~ 22 arasında çalıştırılabilir (yapılandırma dosyası değiştirilebilir)

Yürütme, 5 dakikalık zorunlu gecikme + 0 ila 45 dakikalık rastgele bir gecikmeden sonra yürütülecektir.

Çin'in en güzel CEO'su: Aile şirketini devralmak için ailesini kaybetti ve şimdi dünyanın en büyük finans şirketlerinden biri haline geldi
önceki
4 hardcore ortak girişim SUV'sini kimi seçerdin? 150.000 yuan üst eşleştirme satın alabilir
Sonraki
Ev fiyatlarının düşmesini beklemeyin! Ayık olun, "flaş" ne kadar sürebilir?
İlk çeyrekte otomobil pazarı, Şangay Otomobil Fuarı'nda soğuk su dökülen soğukta% 1 düştü
Hangi eylemler sana ateşli bir adamı hatırlatıyor? Oyuncuların adını taşıyan ilk 5 LOL operasyonunun envanterini çıkarın
BAT'dan (Baidu, Ali, Tencent) Toutiao Meituan Didi'ye, sırada kim olacak?
Toyota GR Supra GT4 konsept otomobil resmi resmi ortaya çıktı! Cenevre Otomobil Fuarı'nda görücüye çıkacak!
King of Glory'nin yeni kahramanı "Dream of Cat" modeli ortaya çıktı
Uluslararası tasarımcı ustası Bosideng X uluslararası tasarımcı ortak sürümüyle el ele
Bu, Shenlong'un dönüşmesi için bir fırsat olacak mı?
Bir zamanlar Şangay'ın en zengin adamıydı ve erkek arkadaşıyla hisse senedi fiyatlarını manipüle ettiği için 3 yıl hapis cezasına çarptırıldı.
Eclipse, ilk java programının ayrıntılı açıklamasında hata ayıklama
150.000'den başlayan 3 çıplak arabanın sayısının seyahat edebilmesi ve hesaba katılması, 400KM'nin üzerinde pil ömrü saf elektrikli otomobil önerilir
Tiguan L'den korkmayan Kodiak kendini Skoda için buldu
To Top