sotvm, так сработает как нужно (именно этот вариант я и писал выше, вы проглядели). Но не по ssh. Если отключиться от ssh раньше 10 секунд, то killall не успеет запуститься.
Именно поэтому нужно продлить сессию, что бы после дисконнекта sleep (а точнее шелл в котором он запущен, ведь && это оператор шелла) продолжил выполняться (а не принудительно завершился).
sotvm, вы понимаете, что такое перенаправление ввода-вывода?
echo сразу отрабатывает. Но вместо печати текста на консоль вывод echo перенаправляется на ввод sleep, который ждет 10 секунд и затем уже печатает свой ввод (который был выводом echo).
Что бы убедиться, проверьте свой вариант с killall.
Но предположим, что вы правы.
При отключении от ssh сессия завершится. И команда killall так никогда и не выполнится. Поэтому основная проблема в том, что бы продлить жизнь сессии.
sotvm, поменять местами тоже не выйдет, т.к. элементы конвейера могут запускаться параллельно. И через && связать не получится, т.к. команда завершится во время отключения от ssh. Поэтому нужно запускать "sleep 3600 && killall APP" внутри screen (который не грохнет сессию при отключении от ssh), либо по крону выполнить.
Владимир Скибин, хотя когда спрос больше предложения, может быть обратная ситуация. Т.к. желающих купить больше, то выгоднее продавать тому, кто большую цену предложил.
Возможно от соотношения спроса\предложения и зависит.
Смотрите, максимальная цена на на покупку 25.187290, дороже никто не купит в данный момент.
Ставлю лимитный ордер на продажу по 25.15, за эту же цену он и исполняется.
Ну сами посудите, если вы согласны продать арбуз не дешевле чем за 2 рубля, то никто не купит у вас его за 3. Ведь можно купить за 2.
zlodiak, если на них больше нет никаких ссылок (другие ветки, теги), то какое-то время. git где-то раз в месяц автоматически запускает gc. И все недоступные напрямую узлы графа истории удаляются.
Ariox41, все термины C и в итоге и C++ основаны на классической архитектуре со стеком. Просто в стандарте это названо "автоматическая память" (automatic storage). Однако на этом основывается практически все - от передачи параметров и времени жизни локальных переменных до механизма обработки исключений.
Но из-за того, что C++ позиционирует себя как переносимый язык, то явно стек в стандарте не упоминается. Потому что компилятор может быть портирован на архитектуру без стека.
Армянское Радио, вы меня тыкаете стандартом. И вот что там написано:
"Lifetime of a temporary
Whenever a reference is bound to a temporary or to a subobject thereof, the lifetime of the temporary is extended to match the lifetime of the reference, with the following exceptions:
a temporary bound to a return value of a function in a return statement is not extended: it is destroyed immediately at the end of the return expression. Such function always returns a dangling reference."
Даниил Демидко, нет. Он про другой случай. Когда вы из функции возвращаете ссылку на локальный объект, компилятор может вас понять. Это называется RVO. Однако эта оптимизация есть не во всех компиляторах, а в которых есть она может быть отключена. Поэтому использовать ее можно лишь тогда, когда вы осознаете, что делаете.
Именно поэтому нужно продлить сессию, что бы после дисконнекта sleep (а точнее шелл в котором он запущен, ведь && это оператор шелла) продолжил выполняться (а не принудительно завершился).