لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در اجرا کردن دستور top با استفاده از ssh
2013-05-14, 11:59 AM,
ارسال : #1
مشکل در اجرا کردن دستور top با استفاده از ssh
با سلام به تمامی دوستان

دوستان من با سی شارپ یه کدی نوشتم که با استفاده از کتابخانه 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; }
    }
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان