
---

## Topshiriq 9. Jarayonlarni boshqarish va Avtomatlashtirish

Skript yarating:

```text
process_monitor.sh
```

Skript quyidagilarni bajarishi kerak:

1. Tizimda ishlayotgan va eng ko'p xotira (RAM) sarflayotgan 5 ta jarayonni ekranga chiqarish.
2. Natijani `top_processes.txt` fayliga saqlash.
3. Buni amalga oshirishda `ps`, `sort` va `head` buyruqlaridan foydalanish (yoki `ps` ning o'zida saralash).

### Yechim

`process_monitor.sh` skriptining kodi:

```bash
#!/bin/bash

# Tizimda eng ko'p xotira sarflayotgan 5 ta jarayonni aniqlaymiz va top_processes.txt fayliga yozamiz.
# ps aux --sort=-%mem buyrug'i yordamida ham saralash mumkin.
# Quyida ps, sort va head yordamida qilingan usul:

echo "Eng ko'p xotira sarflayotgan 5 ta jarayon:"
ps aux | sort -rnk 4 | head -n 6 | tee top_processes.txt

echo "Natija top_processes.txt fayliga saqlandi."
```

Skriptni ishga tushirish uchun unga bajarish huquqini berib, so'ng ishga tushirasiz:

```bash
chmod +x process_monitor.sh
./process_monitor.sh
```

---

## Topshiriq 10. Tarmoq ulanishlarini tahlil qilish

Skript yarating:

```text
network_monitor.sh
```

Skript quyidagilarni bajarishi kerak:

1. Tizimdagi faol tarmoq ulanishlarini (established connections) ko'rsatish.
2. Natijani `active_connections.txt` fayliga saqlash.
3. Buni amalga oshirishda `ss` (yoki `netstat`) va `grep` buyruqlaridan foydalanish.

### Yechim

`network_monitor.sh` skriptining kodi:

```bash
#!/bin/bash

# Faol tarmoq ulanishlarini aniqlaymiz
echo "Faol tarmoq ulanishlari ro'yxati tuzilmoqda..."

# ss buyrug'i orqali ESTAB (o'rnatilgan) holatidagi ulanishlarni olib, faylga yozamiz
ss -tunp | grep ESTAB > active_connections.txt

echo "Natija active_connections.txt fayliga saqlandi."
```

Skriptni ishga tushirish uchun unga bajarish huquqini berib, so'ng ishga tushirasiz:

```bash
chmod +x network_monitor.sh
./network_monitor.sh
```