Если не указано иначе, команды переходят на передний план. У вас есть только один процесс «переднего плана», выполняющийся в одном сеансе оболочки. & Amp; символ указывает командам работать в фоновом процессе и немедленно возвращается в командную строку для дополнительных команд.
sh my_script.sh &
Фоновый процесс будет не оставаться в живых после закрытия сеанса оболочки , SIGHUP завершает все запущенные процессы. По умолчанию в любом случае. Если ваша команда работает долго или работает неограниченно (т. Е. Микросервис), вам нужно отложить ее без nohup, чтобы она оставалась бегущей после отключения от сеанса:
nohup sh my_script.sh &
EDIT: Появляется быть серой областью, касающейся закрытия фоновых процессов, когда & amp; используется. Просто имейте в виду, что оболочка может закрыть ваш процесс в зависимости от вашей ОС и локальных конфигураций (особенно на CENTOS / RHEL): https://serverfault.com/a/117157 .
Вы можете сделать это просто для проверки элемента, если это первый дочерний элемент: $(this).is(':first-child')
. Другие селекторы, такие как :last-child
, тоже будут работать.
Вы можете просто попросить его .index()
положение (относительно его братьев и сестер).
$(this).index(); // returns a zero based index position
Проверьте индекс
$(this).index() == 0 // is first
Кроме того, вы можете проверить, определено ли $(this).prev().length
, например:
if (!$(this).prev().length){ //This means $(this is the first child
//do stuff
}
Если вы хотите выбрать все, кроме первого ребенка, вот как это сделать:
$('#some-parent').children().not(':first')
Будьте проще, используйте DOM
$("li").click(function(e) {
if (this.previousSibling != null)
{
/* do something */
}
});
$("li").click(function(e) {
if ($(this).index != 0 )
{
/* do something */
}
});
Для всех li
в #thing
, которые не являются первыми детьми:
$('#thing li:not(:first-child)')