Вы правы. perror не будет вызываться, если execl не сработает. Функции exec
- это средства для запуска новых процессов в ОС, совместимой с POSIX (обычно в сочетании с вызовом fork
). Может быть, пример поможет. Предположим, что ваша программа, назовите ее programX, запущена. Затем он вызывает одну из функций exec, подобную той, что у вас выше. programX больше не будет работать как запущенный процесс. Вместо этого ls будет запущен. Он будет иметь тот же самый PID, что и programX, но в значительной степени будет совершенно новым процессом.
Самый простой способ отметить массив координат - использовать массив в геометрии MultiPoint. Если координаты LonLat, геометрию необходимо преобразовать в координаты карты:
var iconFeature = new ol.Feature({
geometry: new ol.geom.MultiPoint([[-90, 0], [-45, 45], [0, 0], [45, -45], [90, 0]]).transform('EPSG:4326','EPSG:3857'),
name: 'Null Islands',
population: 4000,
rainfall: 500
});
Значки по умолчанию будут отображаться в натуральном размере изображения, но вы можете изменить это, установив параметр масштаба:
var iconStyle = new ol.style.Style({
image: new ol.style.Icon(/** @type {module:ol/style/Icon~Options} */ ({
anchor: [0.5, 46],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
src: 'https://openlayers.org/en/v5.3.0/examples/data/icon.png',
scale: 0.5
}))
});