англійськафранцузькаіспанська

Значок OnWorks

sockdown - Інтернет у хмарі

Запустіть sockdown у безкоштовному хостинг-провайдері OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда sockdown, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


носок - вимикання(2) розетка

трубки 4.2

СИНТАКСИС


носок вниз [ fd [як] ]

ОПИС


носок вниз виконує вимикання(2) системний виклик одного з його файлових дескрипторів, визначених
fd. Можливі значення для як він має

┌───────────┬───────────────────────────────────────── ────────────────────┐
│writeonly │ перетворити на дескриптор файлу лише для запису │
│0 │ перетворити на дескриптор файлу лише для запису │
│лише запис │ символічний для того ж, що й вище │
│1 │ перетворити на дескриптор файлу лише для читання │
│лише для читання │ символічний для того ж, що й вище │
│2 │ повне відключення. читання чи запис більше заборонено │
│повністю │ символічний для того ж, що й вище │
└───────────┴───────────────────────────────────────── ────────────────────┘

За умовчанням fd дорівнює 1 (стандартний вихід) і використовується за замовчуванням як є 1.

ПРИКЛАДИ


Уявіть, що у вас є машина, яка може виконувати певну послугу (у цьому випадку перетворення з ASCII
до фантастичної приписки) :

server$ кран 3000 --in --out enscript -2rGhp -

Потім ви можете підключитися до нього за допомогою шланга. Однак перший приклад входить у тупик:

client$ hose server 3000 -in -out \
sh -c " cat blah.txt & cat > blah.ps "

Enscript блокує очікування введення з сокета, оскільки не весь клієнт
процеси вийшли. Поки cat blah.txt закінчено, cat > blah.ps ще не закінчено, і
не буде завершено, доки процес віддаленого шифрування не завершить запис. Розшифровка
процес не завершить запис, доки не завершить читання, але ця половина клієнт->сервер
сокета все ще відкрито і не буде закрито, доки не будуть завершені всі клієнтські процеси
зроблено. Результат – тупик.

Отже, ми використовуємо sockdown, щоб закрити половину труби

client$ hose server 3000 -in -out \
sh -c "( cat blah.txt ; sockdown ) & cat > blah.ps "

Таким чином, коли cat blah.txt завершено, половина розетки вимикається і пульт дистанційного керування
процес enscript закінчується вхідними даними, змушуючи його скидати вихідні дані та завершувати роботу, тому врешті-решт
весь безлад закінчується чисто.

Примітка: & на шлангу необхідний, щоб запобігти повторному блокуванню. Якби ми просто використали ;
для серіалізації двох процесів cat можливо, що enscript заповнить його
буфер запису до завершення першого кота, спричиняючи блокування та запобігання обох процесів
другий кіт від зливу труби.

Звичайно, це ідіоматичне вживання шланга настільки корисне, що це особлива форма:

client$ hose server 3000 -slave blah.ps

Ян Стірлінг <[захищено електронною поштою]> повідомляє мені про це носок вниз можна використовувати в Linux
/proc/ПІД/fd/ каталоги для розірвання завислих мережевих з’єднань. З тих пір я використовував це
себе на клині MOMspider. Щоб спробувати це, ви повинні знати PID програми та
дескриптор файлу клинового розетки (іноді його можна знайти, запустивши страйк і бач
якщо програма застрягла в a зчитування(2) системний виклик). Якщо PID 991 і сокет
дескриптор 5, ви робите це як root:

bash# sockdown 1 2 > /proc/991/fd/5

ПОМИЛКИ


Розетка операція on без розетки

Недійсний аргумент (бачено on Соляріс) Команда fd вказаний вами не відноситься до сокета. Це
трапляється, коли ви запускаєте sockdown самостійно (малоймовірно, що будь-який із файлових дескрипторів
приєднані до інтерактивної оболонки насправді є гніздами) або якщо ви псуєте свій кран/шланг
команда і забув dup(2) один із ваших дескрипторів.

поганий файл номер Ви дали йому неправильний номер файлу fd. Якщо у вас достатньо навичок
насправді генерувати цю помилку, ви, напевно, знаєте, що не так.

Якщо ви зіткнетеся з іншими помилками, підкажіть мені.

Використовуйте sockdown онлайн за допомогою сервісів onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    unitedrpms
    unitedrpms
    Приєднуйтесь до нас у Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Увімкніть репозиторій URPMS у вашому
    система -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Завантажити unitedrpms
  • 2
    Збільшити C ++ Бібліотеки
    Збільшити C ++ Бібліотеки
    Boost надає безкоштовний портативний пристрій
    рецензовані бібліотеки C++. The
    акцент робиться на переносних бібліотеках, які
    добре працювати зі стандартною бібліотекою C++.
    Перегляньте http://www.bo...
    Завантажте бібліотеки Boost C++
  • 3
    VirtualGL
    VirtualGL
    VirtualGL перенаправляє тривимірні команди з a
    Програма OpenGL Unix/Linux на a
    серверний графічний процесор і перетворює
    відтворювати 3D-зображення у відеопотік
    з якої ...
    Завантажити VirtualGL
  • 4
    libusb
    libusb
    Бібліотека, щоб увімкнути простір користувача
    прикладні програми для спілкування
    USB-пристрої. Аудиторія: розробники, кінець
    Користувачі / Робочий стіл. Мова програмування: C.
    Категорії...
    Завантажити libusb
  • 5
    ЛАГІТ
    ЛАГІТ
    SWIG – це інструмент розробки програмного забезпечення
    що з'єднує програми, написані на C і
    C++ з різноманітними високорівневими
    мови програмування. SWIG використовується з
    інший...
    Завантажити SWIG
  • 6
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, створена за допомогою
    Next JS, Webpack, Babel, Node і
    Express, використовуючи GraphQL і Apollo
    Клієнт. Магазин WooCommerce в React(
    містить: Продукти...
    Завантажте тему WooCommerce Nextjs React
  • Детальніше »

Команди Linux

Ad