Количество экземпляров именованного канала
Некоторое приложение (portal.exe) при запуске создает именованный канал, имя которого имеет вид portal.PID.filetime, где PID идентификатор процесса, а filtetime время запуска, представленное целочисленным значением полей одноименной структуры. Так вот, помимо того, что мне нужно вытащить filetime в виде привычной даты, хотелось бы получить еще и количество экземпляров данного канала. Просто вывести список каналов можно так:
Код:
[IO.Directory]::GetFiles('\\.\pipe\')
Найти нужный можно через Select-String. Но в выводе команды нет упоминания о количестве экземпляров.
P.S. Использовать pipelist Руссиновича не хотелось бы.
|
Цитата:
Цитата jkadaba
количество экземпляров данного канала »
|
все каналы существуют в единственном экземпляре
|
greg zakharov |
24-01-2021 22:37 2947459 |
Цитата:
Цитата Busla
все каналы существуют в единственном экземпляре
|
Здесь, коли упомянут pipelist, скорее превратности перевода. Instances можно перевести и как экземпляры, и как инстанции, и как... - в общем, суть понятна. По факту же это - размер канала в байтах.
В десятке чтобы получить размер можно провернуть такой трюк:
Код:
($$ = (cmd /c dir \\.\pipe\\ | sls '(\d+)\s+(portal.*)').Matches.Groups[1,2])[0], [DateTime]::FromFileTime(($$[1] -split '\.')[-1])
|
Цитата:
Цитата jkadaba
вытащить filetime в виде привычной даты »
|
На примере pwsh:
Код:
$a = [IO.Directory]::GetFiles('\\.\pipe\') -match 'pwsh'
# $a = \\.\pipe\PSHost.132559056461144875.248.DefaultAppDomain.pwsh
$filetime = ($a -split '(?<=[^\\])\.(?=[^\\])')[1]
# $filetime = 132559056461144875
[datetime]::FromFileTime($filetime)
# 23 января 2021 г. 23:00:46
|
greg zakharov |
24-01-2021 22:50 2947461 |
Цитата:
Цитата Foreigner
На примере pwsh...
|
А зачем пихать что-то в переменную?
Код:
[DateTime]::FromFileTime((([IO.Directory]::GetFiles('\\.\pipe\') -match 'pwsh') -split '\.')[2])
|
Может лучше через Get-Process?
Код:
(Get-Process portal).StartTime
|
greg zakharov |
24-01-2021 22:55 2947463 |
Конечно лучше. Проблема лишь в росте количества различных вызовов, а также количестве самих процессов. Хм... а может имелось в виду количество пайпов?
|
Время: 23:39.
© OSzone.net 2001-