انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: مشکل در اجرا کردن دستور top با استفاده از ssh  (دفعات بازدید: 1324 بار)

0 کاربر و 3 مهمان درحال مشاهده موضوع.

آفلاین post98

  • Newbie
  • *
  • ارسال: 17
مشکل در اجرا کردن دستور top با استفاده از ssh
« : 24 اردیبهشت 1392، 01:04 ب‌ظ »
با سلام به تمامی دوستان

دوستان من با سی شارپ یه کدی نوشتم که با استفاده از کتابخانه ssh.net به لینوکس که مجازی سازی کردم

وصل میشم تا اینجا مشکلی نیست مشکل تو اجرا کردن بعضی دستورات هستش مثلآ:

top یا top -n 1 یا atop دلیلش هم اینکه این دستورات حالت interactive هستن و تو خروجی برنامه من نمی یان

توجه : من تو لینوکس کد نمی نویسم تو ویندوز دارم کد می نویسم و فقط میخوام با ssh یه سری دستور رو تو لینوکس اجرا کنم.


نکته : من زمانی که برنامه رو دیباگ میکنم از دستور top این ارور رو به من میده

error:TERM environment variable not set.

من کد  برنامه رو اینجا میزارم :


private void button2_Click(object sender, EventArgs e)
        {
            Renci.SshNet.SshClient sshClient = new Renci.SshNet.SshClient("192.168.150.128", "ust", "10");
            sshClient.Connect();
            var command = sshClient.RunCommand("top");
 
            var line = command.Result.Split('\n');
            List<ServerStatusCpu> serverstatus = new List<ServerStatusCpu>();
            for (int i = 3; i < line.Length - 1; i++)
            {
                var li = line[i];
                var words = li.Split(' ');
                List<string> fillterwords = new List<string>();
 
                foreach (var w in words)
                {
                    if (w != "")
                    {
                        fillterwords.Add(w);
                    }
                }
 
                ServerStatusCpu serverStatus = new ServerStatusCpu();
                serverStatus.Time = fillterwords[0];
                serverStatus.TimeType = fillterwords[1];
                serverStatus.Name = fillterwords[2];
                serverStatus.UserCpuTime = float.Parse(fillterwords[3].Replace("%", ""));
                serverStatus.UserNiceCpuTime = float.Parse(fillterwords[4].Replace("%", ""));
                serverStatus.SystemCpuTime = float.Parse(fillterwords[5].Replace("%", ""));
                serverStatus.IoWaitCpuTime = float.Parse(fillterwords[6].Replace("%", ""));
                serverStatus.IrqCpuTime = float.Parse(fillterwords[7].Replace("%", ""));
                serverStatus.SoftwareIrqCpuTime = float.Parse(fillterwords[8].Replace("%", ""));
                serverStatus.StealCpuTime = float.Parse(fillterwords[9].Replace("%", ""));
                serverStatus.GuestCpuTime = float.Parse(fillterwords[10].Replace("%", ""));
                serverStatus.IdleCpuTime = float.Parse(fillterwords[11].Replace("%", ""));
 
                serverstatus.Add(serverStatus);
            }
 
            dataGridView1.DataSource = serverstatus;
        }
 





class ServerStatusCpu



public class ServerStatusCpu
    {
        public string Time { get; set; }
 
        public string TimeType { get; set; }
 
        public string Name { get; set; }
 
        public float UserCpuTime { get; set; }
 
        public float SystemCpuTime { get; set; }
 
        public float UserNiceCpuTime { get; set; }
 
        public float IdleCpuTime { get; set; }
 
        public float IoWaitCpuTime { get; set; }
 
        public float IrqCpuTime { get; set; }
 
        public float SoftwareIrqCpuTime { get; set; }
 
        public float StealCpuTime { get; set; }
 
        public float GuestCpuTime { get; set; }
    }



« آخرین ویرایش: 24 اردیبهشت 1392، 01:23 ب‌ظ توسط post98 »