Foto User
ManPro _ Smart Process Tracker for Secure Linux Op

Afra Aufa Syahsita

Sosial Media


0 orang menyukai ini
Suka

Summary

SUMMARY

Dalam project ini saya Afra Aufa Syahsita (2410514010) dari prodi Sains Data memilih Program Shell Script yang berfokus pada manajemen proses yang terjadi dalam administrasi sistem operasi Linux. Program ini bertujuan untuk memberikan secara langsung dan interaktif bagi user dalam melakukan pengelolaan proses sistem, seperti yang terdapat dalam pilihan menu dalam program ini yaitu melihat daftar proses yang sedang berjalan, mencari proses, menghentikan suatu proses dalam sistem dengan menggunakan PID, dan melakukan penjadwalan otomatis dengan menggunakan crontab. Program Shell Script ini dibentuk dengan menggunakan perintah dasar, seperti ps, grep, kill, dan crontab, program ini juga dibentuk untuk menyediakan pencatatan log aktivitas yang sederhana. Dengan menu yang interaktif kepada user, user dapat menjalankan fungsi yang diinginkan dari manajemen proses secara efisien dan lebih terstruktur tanpa harus mengingat perintah dengan manual. 

Description

DESKRIPSI

Latar Belakang 

Saya ditugaskan untuk membuat project UAS yang berupa program berbasis shell script, dengan tujuan agar dapat memahami dan menerapkan bagaimana sebuah sistem operasi itu bekerja dalam terminal atau baris perintah. Karena itu juga saya memilih untuk berfokus pada manajemen proses dalam sistem shell script. 

Sebelumnya, dalam melakukan pengunduhan linux pada awal pembelajaran saya mengalami kesusahan, karena linux memiliki kapasitas yang besar untuk diunduh, sehingga perangkat saya cukup berat untuk menjalankan sistem operasi linux. Saya sempat merasa bingung dalam melakukan pilihan apakah versi ubuntu yang harus saya pilih, tetapi asisten dosen menyarankan beberapa versi yang memungkian untuk saya unduh. Setelah itu, saya berhasil mengunduh linux dan ternyata setelah berhasil itu masih lama dan lumayan panjang untuk prosesnya. 

Dalam sistem operasi linux, terdapat banyak proses yang berjalan di belakang dan tidak banyak user tau bagaimana cara fungsi tersebut berjalan. Salah satu permasalahan yang saya hadapi sebelum saya mengenal sistem operasi linux ini adalah penjadwalan dilakukan secara manual oleh user, hal tersebut memungkinkan user mengalami kelupaan atau masalah lainnya. Proses yang berjalan di belakang juga membuat saya merasa bingung akan proses yang terjadi di Linux. Ketika buka terminal, saya melihat banyak proses yang sedang aktif, tetapi saya tidak tahu proses mana yang penting dan PID dalam proses mana yang bisa saya hentikan. Hal tersebut membuat saya takut untuk menghapus proses dengan menggunakan PID, karena saya tidak tahu proses tersebut mempunyai PID berapa dan jika melakukan kesalahan, hal tersebut akan menghapus proses dengan PID yang diinputkan dan akan memungkin terdapat kesalahan dalam nomor PID nya. 

Dengan mempertimbangkan permasalahan yang saya alami, saya membuat program shell script bernama ManPro (Manajemen Proses) yang bekerja langsung di terminal Linux sesuai dengan menu yang kita pilih. Saya membuat program ini menjadi lebih interaktif dengan user karena memiliki pilihan menu mana yang ingin dijalankan, agar dapat membuat user mudah dalam melakukan pemilihan proses yang ingin dijalankan tanpa harus menghafal prosesnya satu-satu. Dalam program ini terdapat beberapa menu, seperti melihat proses yang sedang terjadi, mencari proses, menghentikan proses dengan menggunakan PID, menjadwalkan proses, dan menyimpan riwayat aktivitas. Proses-proses dalam menu ini membantu saya dalam membuat dan melakukan pengujian dalam program ini, serta menjadikan saya menjadi lebih siap lagi dalam menghadapi tantangan-tantangan praktis di dalam dunia teknologi untuk masa depan. 

Gambar 1.1 Pilihan menu dalam ManPro

 

Menu Utama Program

     [1]   Daftar proses aktif 

  • Dalam menu daftar proses aktif di atas berguna untuk melihat daftar proses yang sedang aktif dalam sistem dan diurutkan berdasarkan pemakaian CPU yang paling tinggi dengan tujuan agar user dapat tahu proses mana yang paling berat dalam CPU. 
  • Dalam menu ini menggunakan ps -eo sebagai fungsi untuk menampilkan proses dalam format yang lengkap, seperti PID, user,, %CPU, %memori, dan commandnya), terdapat juga fungsi sort=-%cpu sebagai fungsi untuk mengurutkan proses berdasarkan penggunaan tingkat usage yang paling tertinggi dari CPU. Head -n 11 juga digunakan sebagai fungsi yang digunakan untuk menampilkan 10 proses yang teratas. 


     [2]   Cari Proses

  • Dalam menu cari proses di atas berguna untuk melakukan pencarian tertentu berdasarkan nama atau kata kunci yang tersedia dengan tujuan untuk mempermudah pengguna dalam menemukan proses yang sedang berjalan. 
  • Dalam menu ini menggunakan read -p sebagai fungsi yang berfungsi untuk meminta input dari user nama atau kata kunci yang ingin dicari dalam proses, terdapat ps aux juga sebagai fungsi yang berfungsi untuk menampilkan semua prosesnya dan grep -i “$pname” dalam sistem berfungsi untuk melakukan pencarian berdasarkan input nama atau kata kunci yang sedang dicari dengan memperhatikan huruf kapital yang digunakan. Selain itu, terdapat juga fungsi grep -v grep sebagai fungsi yang digunakan untuk menghindari hasil yang berisikan grep proses itu sendiri. 


     [3]   Kill proses

  • Dalam menu kill proses di atas berguna untuk menghentikan proses yang sedang berjalan berdasarkan PID proses tersebut dengan tujuan mematikan proses yang dianggap pengganggu atau tidak diperlakukan, seperti aplikasi yang nge-freeze. 
  • Dalam menu ini menggunakan read -p sebagai fungsi yang berfungsi untuk meminta user untuk memasukkan PID, terdapat juga kill sebagai fungsi yang berfungsi untuk mengirimkan sinyal penghentian ke proses yang dimasukkan oleh user. 


     [4]   Jadwalkan perintah

  • Dalam menu jadwalkan perintah di atas berguna untuk melakukan penjadwalan terhadap perintah agar dijalankan secara otomatis di waktu yang ditentukan user dengan menggunakan cron. 
  • Dalam menu ini menggunakan crontab -1 sebagai fungsi yang digunakan untuk menampilkan isi crontab sebelumnya, terdapat juga fungsi echo “$cron_time $cron_cmd” yang digunakan untuk menambahkan jadwal baru. Selain itu, terdapat crontab - sebagai fungsi yang digunakan untuk menyimpan ulang semua jadwal termasuk jadwal baru. 


     [5]   Lihat aktivitas

  • Dalam menu lihat aktivitas di atas digunakan untuk menampilkan catatan dari setiap proses yang dilakukan oleh user dalam program dengan tujuan agar user atau yang membuat programnya juga dapat melihat riwayat penggunaan fitur. 
  • Dalam menu ini menggunakan tail -n 10 sebagai fungsi yang digunakan untuk menampilkan 10 baris terakhir dari file log, dan juga terdapat $HOME/.proman_activity.log sebagai fungsi yang digunakan untuk menyimpan file log dengan tersembunyi di home user. 

      [6]   Keluar

  • Dalam menu keluar digunakan untuk menutup program dengan aman dan menampilkan ucapan keluar kepada user yang menggunakannya dengan tujuan memberikan titik akhir pada loop menu dan memastikan program keluar dengan benar. 
  • Dalam menu ini hanya terdapat exit 0 sebagai fungsi yang digunakan untuk mengakhiri program dengan status sukses. 

 

Manfaat

Dengan membuat program manajemen proses ini saya menjadi terbiasa dengan proses yang dilakukan Linux di belakang dan dengan membuat program ini saya menjadi lebih memahami bagaimana cara membuat menu interaktif dengan while dan case dalam sistem operasi Linux ini. Program ini berhasil berjalan sesuai dan dapat digunakan untuk mengelola proses-proses sistem secara langsung di terminal Linux. Dengan menu interaktif, user tidak perlu lagi menghafal banyak perintah yang ada, user hanya menginputkan nomor perintah mana yang ingin dijalankan, maka program akan otomatis menjalankan perintah menu sesuai dengan nomor yang user inputkan. Selain itu, dengan adanya log aktivitas juga dapat membantu dalam melakukan pencatatan dan pelacakan tindakan dari user. 

 

Kesimpulan

Dalam project ini memberikan saya pemahaman yang lebih tentang bagaimana proses di dalam Linux bekerja. Meskipun sederhana, semoga program ini dapat bermanfaat bagi user yang ingin mengimplementasikan program shell script yang berfokus dalam manajemen proses. Melalui program ini, saya menyadari bahwa membuat program bukan hanya soal kode yang digunakan, tetapi harus memahami kebutuhan user dan bagaimana proses yang berjalan dalam kode tersebut. Tantangan yang saya hadapi di awal pembuatan, mulai dari pengunduhan Linux hingga mempelajari proses-proses dalam shell script akan menjadi pengalaman yang sangat berkesan. 


 

Informasi Course Terkait
  Kategori: Cloud Computing
  Course: Cloud Computing