Re: shell background job and trap SIGCHILD
Михаил Касаджиков -> Andrey Nikitin @ Fri, 28 Oct 2016 13:17:38 +0300:
>>> Если шелл в скрипте работает не так, как
>>> интерактивный, то смысл его как шелла практически пропадает. Лучше
>>> писать скрипты на совсем другом языке, чем на _чуть-чуть_ не таком.
>> В "яблочко", хотя и грустно это (
>>
> Ну, когда работаешь с зоопарком платформ, всё равно будешь интерактивно
> работать в чём-то одном, а писать под весь зоопарк и не максимально используя
> функциональность интерпретатора, а минимально. Тут или шашечки, или ехать.
> Тут если используешь «#!/bin/sh», то, будь добр, учитывай что на сервере может
> оказаться нечто совсем обрезанное. Или же указывай явно «#!/bin/ksh»,
> «#!/bin/bash», «#!/bin/zsh» и т.д.
Моя вот практика показывает, что если хочется работать с любым юниксом и
нормально управлять процессами, то оптимальный выбор - perl. В линуксах
и FreeBSD он в норме есть, и на любом юниксе легкодоступен. При этом
базовые функции работы с процессами везде работают одинаково, а если
что-то может не поддерживаться, то об этом в документации написано, и
можно этим не пользоваться.
Правда, библиотечку приходится написать и таскать с собой, потому что на
базовом уровне у него один в один сишный интерфейс, и это многословно, а
модулей за пределами базовой библиотеки с легкостью может не быть. Но
она небольшая.
Я даже делал подобные скрипты, которые передаются в stdin команде ssh
host perl. Для операций на хосте с read-only файловой системой.
Reply to: