Родился в Санкт-Петербурге в семье адмирала К. П. Пилкина (1824—1913). Окончил Морское училище (1890). С 1892 — младший штурман крейсера «Разбойник». 14 мая 1896 произведен в лейтенанты. В 1897—1898 прошел годичный курс в минном офицерском классе.
В 1900 командирован во Францию в распоряжение наблюдающего за постройкой броненосца «Цесаревич». С 16 октября 1900 назначен минным офицером броненосца «Цесаревич», который в 1903 году вступил в строй и прямо из Тулона был направлен в Порт-Артур, в состав Тихоокеанской эскадры.
Во время русско-японской войны участвовал в обороне Порт-Артура и в сражении в Желтом море (28.07.1904). В бою был контужен при взрыве снаряда в боевой рубке броненосца «Цесаревич», но остался в рубке до прибытия туда старшего офицера корабля капитана 2 ранга Шумова, принявшего командование броненосцем.
Командовал миноносцем № 215 (с 13 мая 1905). После войны работал в Главном морском штабе. 5 июня 1906 года назначен старшим офицером минного крейсера «Стерегущий». 6 декабря произведён в капитаны 2-го ранга.
Командовал миноносцем «Послушный» (1907—1908). В 1908 окончил военно-морской отдел Николаевской морской академии (1908).
Командовал эсминцем «Всадник» (1909—1911), линкором «Петропавловск» (1911—1916), 1-й Бригадой крейсеров Балтийского моря (1916—1917).
В декабре 1916 года произведён в контр-адмиралы.
В конце 1917 заболел туберкулёзом и находился в санатории в Финляндии до конца 1918 года.
Во время гражданской войны — морской министр в Северо-Западном правительстве. Соратник генерала от инфантерии Н. Н. Юденича.
В эмиграции председатель Кают-компании русских морских офицеров в Ницце, где и умер.