sudo netstat -antp পিআইডি দেখাচ্ছে না


1

আমি সকেটগুলির সাথে স্টাফ পরীক্ষা করছি এবং আমি সেই আজব ঘটনাটির মুখোমুখি হয়েছি:

আমি সিটিতে খুব সাধারণ টিসিপি সার্ভার কোড করেছিলাম, গ্রহণ করার পরে আমি এটি ব্লক করে দিয়েছিলাম (), একই সাথে একাধিক সংযোগের প্রচেষ্টা গ্রহণ করার পরে কী ঘটে তা দেখার জন্য:

এখানে সার্ভারের কোডের একটি অংশ রয়েছে:

//listen()
if( (listen(sock,5)) == -1) {
  perror("listen");
  exit(-1);
}

//accept()
if( (cli = accept(sock, (struct sockaddr *) &client, &len)) == 1 ){
  perror("accept");
  exit(-1);
}

printf("entrez un int : ");
scanf("%d",&toto);

সার্ভার যখন ব্যবহারকারীকে একটি পূর্ণসংখ্যা প্রবেশ করতে বলে, আমি একাধিক ক্লায়েন্টকে টেলনেটের সাথে সংযোগ দেওয়ার চেষ্টা করি।

প্রথম কেল্লা, খোলামেলা ঠিক আছে:

root@[...] :/home/[...]/workspace/sockets# netstat -antp | grep 10003
tcp        0      0 0.0.0.0:10003           0.0.0.0:*               LISTEN      25832/toto      
tcp        0      0 127.0.0.1:10003         127.0.0.1:51166         ESTABLISHED 25832/toto      
tcp        0      0 127.0.0.1:51166         127.0.0.1:10003         ESTABLISHED 25845/telnet

তবে তারপরে প্রথমটির পরে, যদিও আমি মূল, তবুও কিছু সংযোগ রয়েছে যা আমি প্রক্রিয়াটির মালিকানা এবং এর পিড দেখতে পাচ্ছি না:

root@[...] :/home/[...]/workspace/sockets# netstat -antp | grep 10003
tcp        0      0 0.0.0.0:10003           0.0.0.0:*               LISTEN      25832/toto      
tcp        0      0 127.0.0.1:10003         127.0.0.1:51166         ESTABLISHED 25832/toto      
tcp        0      0 127.0.0.1:51166         127.0.0.1:10003         ESTABLISHED 25845/telnet    
tcp        0      0 127.0.0.1:10003         127.0.0.1:51168         ESTABLISHED -               
tcp        0      0 127.0.0.1:51168         127.0.0.1:10003         ESTABLISHED 25852/telnet

তৃতীয়টি:

root@[...] :/home/[...]/workspace/sockets# netstat -antp | grep 10003
tcp        0      0 0.0.0.0:10003           0.0.0.0:*               LISTEN      25832/toto      
tcp        0      0 127.0.0.1:10003         127.0.0.1:51166         ESTABLISHED 25832/toto      
tcp        0      0 127.0.0.1:51166         127.0.0.1:10003         ESTABLISHED 25845/telnet    
tcp        0      0 127.0.0.1:10003         127.0.0.1:51172         ESTABLISHED -               
tcp        0      0 127.0.0.1:10003         127.0.0.1:51168         ESTABLISHED -               
tcp        0      0 127.0.0.1:51168         127.0.0.1:10003         ESTABLISHED 25852/telnet    
tcp        0      0 127.0.0.1:51172         127.0.0.1:10003         ESTABLISHED 25860/telnet

আমি কয়েক দিন পরে নেটস্ট্যাট-অ্যান্টপকে মূল হিসাবে চেষ্টা করেছি এবং আমি যা পেয়েছি তা এখানে:

root@[...] :/home/[...]/workspace/sockets# netstat -antpe | grep 10003
tcp        0      0 0.0.0.0:10003           0.0.0.0:*               LISTEN      1000       327680      22399/toto      
tcp        0      0 127.0.0.1:33286         127.0.0.1:10003         ESTABLISHED 1000       417202      22884/telnet    
tcp        0      0 127.0.0.1:10003         127.0.0.1:33046         ESTABLISHED 0          0           -               
tcp        0      0 127.0.0.1:10003         127.0.0.1:33286         ESTABLISHED 0          0           -               
tcp        0      0 127.0.0.1:33044         127.0.0.1:10003         ESTABLISHED 1000       332810      22402/telnet    
tcp        0      0 127.0.0.1:33046         127.0.0.1:10003         ESTABLISHED 1000       331200      22410/telnet    
tcp        0      0 127.0.0.1:10003         127.0.0.1:33044         ESTABLISHED 1000       332801      22399/toto

কিভাবে একটি প্রক্রিয়া বা সংযোগ 0 এর ইনোড থাকতে পারে? কেউ কি আমাকে ব্যাখ্যা করতে পারেন যে কি চলছে?


গ্রহণের জন্য ব্যাকলগ কী? আমি সন্দেহ করি এটি 2।
ইউজেন রিইক

যদি আমি সঠিকভাবে বুঝতে পারি এবং ব্যাকলোগটি মুলতুবি থাকা অযোগ্য সংযোগগুলির সারির আকার হয়, তবে কোডটি যেমনটি ইঙ্গিত করে তবে এটি 5 হয় the উপায় দ্বারা, আমি আরও বুঝতে পেরেছি যে সার্ভারটি উল্লিখিত চেয়ে 2 টি আরও ক্লায়েন্টের সাথে সংযোগ স্থাপন করতে পারে ব্যাকলগ, আমি সম্ভবত এটি সম্পর্কিত একটি অন্য পোস্ট পোস্ট করব
জোসেফ এম'বিম্বি-বেন

উত্তর:


0

লিনাক্স শোনার ব্যাকলগটিতে দ্বি-সারিতে দৃষ্টিভঙ্গি ব্যবহার করে। এর অর্থ হ'ল সম্পূর্ণ সংযোগের পাশাপাশি (আপনার কোড হিসাবে 5 টি) অসম্পূর্ণ রচনার একটি সারিও থাকতে পারে , যেখানে 3 ওয়ে হ্যান্ডশেক এখনও সম্পূর্ণ হয়নি।

এই রাজ্যে সংযোগগুলি এখনও কোনও প্রক্রিয়াতে বরাদ্দ করা হয়নি, সুতরাং সেগুলি কার্নেলের সাথে সম্পর্কিত মাত্র 0 এর একটি প্রক্রিয়া আইডি তৈরি করে This কার্নেলের নকশা অনুসারে আচরণ

দ্বি-কাতারের পদ্ধতির বিশদের জন্য এখানে দেখুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.