也许我只是缺少System.Process API(http://hackage.haskell.org/package/process)中显而易见的东西,但它似乎不支持获取创建的进程的原始PID.API通常返回一个可以很容易使用的ProcessHandle,但这似乎不能满足我的部署需求.
我有一个案例,我想生成一个长时间运行的进程,记录它正在使用的PID,并能够在以后的某个时间(几天,几周,几个月)自动返回并杀死旧进程并重新启动新进程.我确信有几种方法可以执行此自动部署和重新启动,但PID似乎是最简单的方法,没有太多依赖于平台的代码.
我对其基本问题的其他建议持开放态度,但对我来说似乎很奇怪,我在流程API中找不到任何直接PID引用(或转换为它们的方法).这似乎是对API的疏忽.
我一直在尝试找出一种干净的 Pythonic 方法,用该元素的索引值填充空 numpy 数组的每个元素,而不使用 for 循环。对于一维,这很容易,您可以使用类似np.arange或基本的range. 但是在二维和更高维度上,我很难做到这一点。
(编辑:或者只是建立一个像这样的常规列表,然后np.array(lst)它。我想我刚刚回答了我的问题 - 使用列表理解?)
例子:
rows = 4
cols = 4
arr = np.empty((rows, cols, 2)) # 4x4 matrix with [x,y] location
for y in range(rows):
for x in range(cols):
arr[y, x] = [y, x]
'''
Expected output:
[[[0,0], [0,1], [0,2], [0,3]],
[[1,0], [1,1], [1,2], [1,3]],
[[2,0], [2,1], [2,2], [2,3]],
[[3,0], [3,1], [3,2], [3,3]]]
'''
Run Code Online (Sandbox Code Playgroud) 我一直在用一个简单的ADT进行战斗,试图让它来回往返JSON,但我没有运气,无论我如何尝试按摩或修改类型.我错过了什么?
编译时,我总是得到相同的运行时错误:
> let t = Fahrenheit
> fromJSON $ toJSON t
Error "when expecting a (), encountered Object instead"
Run Code Online (Sandbox Code Playgroud)
尝试这个只是给了我"没什么",大概是因为同样的错误:解码$ encode t
我试图按照这些来源,但我似乎无法解决 这个运行时错误,无论我尝试什么: Haskell :: Aeson ::基于字段值解析ADT https://www.fpcomplete.com/用户/ Geraldus /代数-数据-类型,ADTS与-埃宋
这是我正在使用的代码的一种形式.起初,我试图将此作为嵌入在另一种类型中的类型,但是当这不起作用时,我添加了"值"键以尝试使这更容易解析(没有运气).
data TemperatureType = Celsius
| Fahrenheit
deriving (Show,Read,Typeable,Data,Eq)
-- This doesn't work either
-- $(deriveJSON defaultOptions ''TemperatureType)
instance ToJSON TemperatureType where
toJSON Fahrenheit = object [ "value" .= String "Fahrenheit" ]
toJSON Celsius = object [ "value" .= String "Celsius" ]
instance FromJSON TemperatureType where
parseJSON …Run Code Online (Sandbox Code Playgroud)